How does index.php?entryPoint=removeme works in campaign's emails unsubscription link


Our CRM is in a private linux server, but we need to send campaign’s emails to some leads etc…

The problem is that, the unsubscribe link works only with people connected in our network, the other ones will get a white page in their browser and won’t be unsubscribed, which is obvious.

We plan on using a DMZ to map the unsubscribe link with a personal link that we want to replace which will be accessible on the internet as a unsubscribe link in our emails.

My questions are :

  • What suitecrm URL I have to map to our personal url, so that people wil be redirected on the good page with the successful unsibscription message ? When I try to create a tracker’s url while creating a campaign, I can put “index.php?entryPoint=removeme” at the end, but when I click on unsubscriptions link, I get this type of url “index.php?entryPoint=removeme&identifier=530d2f38-d5f6-e84f-a324-591dc774e979”, is the identifier inserted automatically ???

If I map this url “http://our.crm.mpi.grp/index.php?entryPoint=removeme” with our DMZ, will this unsubscribe the specific address email ???

Thanks :slight_smile:

Just to clarify, and see if I understand your issue correctly,

  • your CRM is not accessible from the Internet because it’s private and you have set up network configurations to block it

  • now you need to open it just for the purpose of unsubscribe links

  • your way of letting this through involves mapping one link to another, but it doesn’t seem as you can pass all the necessary parameters in (namely, the identifier, so SuiteCRM can tell which user is trying to unsubscribe)

Is this it?


Yes, our CRM is not accessible from the internet, so does the unsubscription link, and now we need the unsubscription link to be accessible from the internet so that our targets can be oupted-out from the lists if they decide so.

So that we can put an accessible link in our emails, we plan on using a DMZ which consist of mapping the original unsub link to another link which will be accessible on the internet and redirect the information to the original link that is not accessible directly.

But I don’t know what url I need to map since an identifier “identifier=530d2f38-d5f6-e84f-a324-591dc774e979” seems to be generated each time.

And is it actually possible to replace the original unsub link with another ?

The unsubscribe URL will always contain an id, because it needs to work from the email client for people who haven’t started any sort of session with you, so there are no variables traveling through HTML POST, they need to be in the URL.

So your network configuration needs to be able to handle this. It probably is. It’s likely to allow you to specify a part of the URL you want to allow, while letting other parts be variable. Normally it would ignore the parts after the “?”.

Of course this could be tricky for your purposes, because you need to disallow


while allowing


If necessary, you can write a new entrypoint like


if your system lets you specify that removal.php is valid, and accepts


with that rule.

Then, inside the network and under control of PHP, it would be simple to redirect removal.php to index.php.

You have to try the settings it allows you, and how they work, and find out…

Thanks, I will try to figure out all this, but I can’t understand why it’s so tricky since it’s normal that the CRM will not always be visible on the internet.

I’m wondering now, how does a custom tracker url work with index.php?entryPoint=removeme at the end if there’s no id in it ??

It doesn’t have to be tricky if the devices/software you use to keep some things out, and let other things in, let’s you say which ones to keep out and which ones to let in! :slight_smile:

The fact that SuiteCRM shows you a URL without id when you are defining the Tracker URL, doesn’t mean that it’s not going to use an id “under the hood”. It has to, there’s no other way to achieve this.

Good luck with your attempts!

Just a little question, when creating a tracker url, with the entrypoint removeme, what kind of url do I have to provide ? If I give index.php?entryPoint=removeme it will sure not work, so that’s kinda weird to me

It let’s you insert any domain, because you could be using a different computer to track the campaign results.

Of course normally you will use the same server that is running SuiteCRM. If you don’t specify the domain it will use the site_url you defined when installing, which you can find (and edit) in config.php.

So if you just insert


it will use your domain and add an id, so it becomes (for example)

Ok so it leads me to think that if we map our accessible url to http ://our.crm.mpi.grp/index.php?.. it will redirect to this url with the id and it will get the job done…

Hello Naspy, how are you?
How did you solve this issue?

I’m going trought the same issue with the CRM we´re using in my company. The Crm is hosted in a private server where obviusly no one else from the leads list can be connected and my unsuscribe button it’s not working at all.

I am getting in this .php thing and else, but couldn’t make it run reading your topic. Did you get to solve it? how did you?

Thanks in advance.

You could do this with an Apache https from that one external URL only, via Apache Proxy, and Rewrite to your internal private Suite CRM server, for the unsubscribe to work.

1 Like

Chris, thanks in advance for your reply. I´m not into Apache, is there any way you can explain this a little bit further or maybe check another way to make it work?

In my email i have the traditional link where you´ll be taken to:, but nothing appears or happens, in fact the screen is in complete white.

Our Crm is hosted in a private server belonging to the company I work for.

Looking forward to your reply.

Kind regards.

I browsed to your organization’s CRM URL. It’s accessible from the internet, so the normal “unsubscribe” URL should work.

Note, it can’t have only the “removeme”, the must also have “id=…” in order to work.