Disabling Subscribe / Preferences Form

Hi everyone!

We are using phplist to send out newsletters, however, we manage sign-ups and communication preferences elsewhere (on a different user management system).

Is there a way to disable the subscribe form and the preferences form in phplist?

If users are currently entering the URL of our phplist installation they can access these forms which is not ideal. Is there a setting/configuration to disable these forms?

Thanks in advance!


You can edit the url in Config -> Config mailings

There you can edit all url that you need to the other system you have

By law and SPAM filters you need the unsubscribe hyperlink available on your newsletters, is not recommended remove it, you can but is not recommended. So change the url to your user management system.

You also can remove/disable the subscribe page.

Sorry, it’s in portuguese language

Thank you very much already! I have changed the URLs and I have deleted all subscribe forms.
However, the underlying pages are still accessible and users could still access those settings if they knew where to look.

Is there a way to completely disable these features (since we import the data from our external platform, where the users can edit it)?

  • User preferences
  • User sign-ups

@stevest If you make your lists private, and do not have any subscribe pages then people will not be able to sign-up through phplist.

But subscribers will still be able to view the preferences page. I guess that you have defined attributes, so maybe add some text explaining how subscribers should update their attributes, i.e. not through phplist.

Hi, it seems in a new installation, this doesn’t seem to work as described.

When I do not actively create a signup form/Subscribe Page, a default form including all attributes is still shown at the public URL(?p=subscribe) giving all attribute options. If the list is not public, the form will be shown but no list can be chosen, so signup is de facto ipossible here, but the form will be displayed.

By creating a signup page, it is possible to reduce the attributes shown in the form but not disable the display of the form entirely. At the very least I still get “email” and “email verification” fields, with the note that no list is currently available to subscibe to, so as above, signup is de facto ipossible here, but the form will be displayed.

However, and this is a big however: If I use a subscribe page to reduce the amount of attributes, these attributes will also be missing on the ?p=preferences page, hence they won’t be editable for the user. Even worse, if the list is not public, a subscriber will not be able to submit any preference changes form from the public URL, because checking a list is required by the system but havin only private lists will not allow the user to check a/the list.

So, bascally, what I would like to do: allow people to manage their preferences through the public part of phplist but not allow them to sign up at that URL and not even offer than option seems impossible to achieve from within the system, as the default menu reads “signup, change preferences, remove from list, and contact administrator”).

I suppose actually hiding the form and the signup-form at “?p=suscribe” will require javascript in the template file? Or am I doing something wrong and there is any other way?

Thanks for any help!

I’m now removing the element “.well” and then redirecting to “?p=preferences” with Javascript if someone should happen upon “?p=subscribe”, so this works functionality-wise. But it seems odd that this functionality requires javascript hacks.

@ts.mz2 You can deny access to the subscribe page using an Apache directive in the .htaccess file. Something like this will simply block the subscribe page

<If "%{QUERY_STRING} =~ /p=subscribe/">
    Require all denied

Or maybe redirect to a static page which explains that public subscription is disabled