PHPlist error - SMTP Error: Data not accepted. SMTP server error:

  • Answered
We are using a locally hosted copy of phpList and attempting to send out newsletter campaigns. While testing our newsletter (before sending it to customers) we are running into the above error. We have been using phpList with another hosting company ( for several months with no issues. Here is a cut & paste of my config file (I have removed all of my account information) for review.::


* ==============================================================================================================
* The minimum requirements to get phpList working are in this file.
* If you are interested in tweaking more options, check out the config_extended.php file
* or visit
* ** NOTE: To use options from config_extended.php, you need to copy them to this file **


# what is your Mysql database server hostname
$database_host = "";

# what is the name of the database we are using
$database_name = "dbname";

# what user has access to this database
$database_user = "webuser";

# and what is the password to login to control the database
$database_password = 'dbpassword';

$pageroot = '/newsletter';
$adminpages = '/newsletter/admin';

# if you have an SMTP server, set it here. Otherwise it will use the normal php mail() function
## if your SMTP server is called "" you enter this below like this:
## define("PHPMAILERHOST",'');

$phpmailer_smtpuser = '[email protected]';
$phpmailer_smtppassword = 'MagicPassword!';

# if test is true (not 0) it will not actually send ANY messages, but display what it would have sent
# this is here, to make sure you edited the config file and mails are not sent "accidentally"
# on unmanaged systems

define ("TEST",0);

* Settings for handling bounces
* This section is OPTIONAL, and not necessary to send out mailings, but it is highly recommended to correctly
* set up bounce processing. Without processing of bounces your system will end up sending large amounts of
* unnecessary messages, which overloads your own server, the receiving servers and internet traffic as a whole

# Message envelope.
# This is the address that most bounces will be delivered to
# Your should make this an address that no PERSON reads
# but a mailbox that phpList can empty every so often, to process the bounces

$message_envelope = '[email protected]';

# Handling bounces. Check README.bounces for more info
# This can be 'pop' or 'mbox'
$bounce_protocol = 'pop';

# set this to 0, if you set up a cron to download bounces regularly by using the
# commandline option. If this is 0, users cannot run the page from the web
# frontend. Read README.commandline to find out how to set it up on the
# commandline

# when the protocol is pop, specify these three
$bounce_mailbox_host = 'POP.ADDRESS.COM';
$bounce_mailbox_user = '[email protected]';
$bounce_mailbox_password = 'MagicPassword!';

# the "port" is the remote port of the connection to retrieve the emails
# the default should be fine but if it doesn't work, you can try the second
# one. To do that, add a # before the first line and take off the one before the
# second line
$bounce_mailbox_port = "110/pop3/notls";
#$bounce_mailbox_port = "110/pop3";

# it's getting more common to have secure connections, in which case you probably want to use
#$bounce_mailbox_port = "995/pop3/ssl/novalidate-cert";

# when the protocol is mbox specify this one
# it needs to be a local file in mbox format, accessible to your webserver user
$bounce_mailbox = '/var/mail/listbounces';

# set this to 0 if you want to keep your messages in the mailbox. this is potentially
# a problem, because bounces will be counted multiple times, so only do this if you are
# testing things.
$bounce_mailbox_purge = 1;

# set this to 0 if you want to keep unprocessed messages in the mailbox. Unprocessed
# messages are messages that could not be matched with a user in the system
# messages are still downloaded into phpList, so it is safe to delete them from
# the mailbox and view them in phpList
$bounce_mailbox_purge_unprocessed = 1;

# how many bounces in a row need to have occurred for a user to be marked unconfirmed
$bounce_unsubscribe_threshold = 5;

# add spamblock
# if you set this to 1, phplist will try to check if the subscribe attempt is a spambot trying to send
# nonsense. If you think this doesnt work, set this to 0
# this is currently only implemented on the subscribe pages

# notify spam
# when phplist detects a possible spam attack, it can send you a notification about it
# you can check for a while to see if the spam check was correct and if so, set this value
# to 0, if you think the check does its job correctly.
# it will only send you emails if you have "Does the admin get copies of subscribe, update and unsubscribe messages"
# in the configuration set to true

# When only user is unconfirmed when consecutive bounces are over the threshold, 'mark all users
# confirmed' will cause a lot of useless bouncing (email that is, not pogo). Its better to blacklist
# the address so phplist will never try again. Default on.

# ---------------------------------------------------------------------------------
# Settings for the Mailqueue and how many messages are to be sent within a time period.
# ---------------------------------------------------------------------------------

# batch processing disabled:

# Batch_period is not effective when batch processing is disabled:
# define("MAILQUEUE_BATCH_PERIOD",3600);

# Amount of pause between messages (in seconds). Can be a decimal fraction (0.5 to be a half second)

# Enables the Advanced bounce handling routines.

Hello, While I understand why you removed the specific information, there is very little I can tell you because that information is not there. That is the information that makes or breaks the code. If any of that information is incorrect, it will not work. However, I will do the best I can. What I can see, is that there may be an error in your port number. If using SSL, then you will not use port 25, but 465. Also, I see you are using an IP address as the host. When the hosting account and the mail functions are on the same server, it is best to use 'localhost' as the host name instead of a full IP address. That may help you. If not, and you are one of our customers, then you will want to contact Live Support so you can give them the specific private information you did not show here. Kindest Regards, Scott M