Glitch I cant fix

Hi, I’m willing to pay to get this fixed.

I’ve been using phplist for almost 20 years and only recently has there been a problem. I think it started when I began to use an email account on the server through which to send messages and not the simple php default. It says the test sending failed, but I receive it anyway, and when I launch a sendout, it keeps sending multiple copies to the same recipients.

I spent quite a while with my server administrators trying to solve this and we cant figure it out.

Thank you, Karel

It would be helpful if you couold supply some basic ifo to help people tell if they can help you. Such as which version of phpList you are running, the version of PHP your sever is running.

However, if nothing else has changed recently, it sounds like you haven’t set the SMTP settings correctly.

@kenaxx Add this setting to your config.php file then send a test email. There will be some output at the top of the page that might help to understand what is failing

define('PHPMAILER_SMTP_DEBUG', 3);

ok, added the debug script, the results of which i have copied below. before that is the final response from the server company. i sent the test to three of my email addresses, they all got through, but were reported as failed in the test. Also, i noticed that since this error has been occurring i have not been at all receiving the Plain Text version of the test message - not sure if that has anything to do with anything.

Response from server company:

I am sorry to hear your phpList e-mails are not working properly. This appears to be phpMailer falsely stating that the messages are failing. They are being delivered properly. When I provide the SMTP server with the same commands your client is using directly it processes the e-mail and sends it correctly. Since this appears to be a coding issue with phpList or PHPMailer our ability to troubleshoot this is limited. I recommend reaching out to phpList for further assistance. [I have been trying to resolve this with the server company for quite some time.]

===============

http://translationstop.com/erase.txt (this site blocked me from posting the error message, so I have to do it this way, sorry)

[this repeats for each of the three addresses. what concerns the message near the very top (“We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.”), the server company said that was a simple message but does not change anything.
Note that I use PHPMailer with some of my own scripts without any problems.]

Thank you.

@kenaxx The important part of the debug is at the end

CLIENT -> SERVER: .
SERVER -> CLIENT: 
SMTP ERROR: DATA END command failed: 
SMTP Error: data not accepted.
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 
SMTP ERROR: QUIT command failed: 
Connection: closed 

It appears that phpmailer is receiving a blank line in response to the “.” line that it sent. I think that it is going to be very difficult to find the underlying cause as the “problem” is between phpmailer and the smtp server, not within phplist.

A couple of suggestions:

  • install the latest release of phpmailer just to see whether that makes any difference. You can install it outside of phplist and use this config.php setting to tell phplist where phpmailer is installed - use the full path to the PHPMailerAutoload.php file
    define ('PHPMAILER_PATH','/usr/share/php/libphp-phpmailer/PHPMailerAutoload.php');
    You can find phpmailer here https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.25

  • You said that you previously did not use the smtp server. Was there a reason for changing that, if not then go back to using the php mail() function.

updating seemed to do it, thank you very much!

maybe false alarm? it shows as successful when i make a test send, and when error reporting everything looks fine, but the plague still persists, which is that it keeps sending out the campaigns over and over again, every half hour on the half hour, so each recipient is receiving duplicates. could this have anything to do with the cron job i’m using, as suggested to me here elsewhere?

/opt/php56/bin/php /home/transl40/public_html/lists/admin/index.php -pprocessqueue -c /home/transl40/public_html/lists/config/config.php >~/processqueue.log 2>&1

maybe i should just send this from the command line once or something? i am not connected to my sporadic internet so often and the list i mostly use is around 10,000 large, so using the browser to launch and tend to the queue is not feasible.

This probably has no bearing on your problem, but permit me to make a couple of observations.

Looking at your cron command, it seems like you are not using the command line version of PHP (you’re using php instead of php-cli). At one time I was using the non-cli version and it was causing me some problems (but not the same as yours). Here is my cron command:

php-cli -q /home/LoginName/public_html/DomainDirectory/lists/admin/index.php -p processqueue -c /home/LoginName/public_html/DomainDirectory/lists/config/config.php >/dev/null 2>&1

I also noticed you don’t have a space between -p and processqueue.

Can you change back to sending through the php mail() function? What was the reason for changing that?

The space is optional.[quote=“SteveS, post:8, topic:3218”]
Looking at your cron command, it seems like you are not using the command line version of PHP (you’re using php instead of php-cli).
[/quote]

Not all hosting companies provide command line php, or don’t necessarily name it “php-cli”. In this case the cron job is working.

i’m just trying to decrease the chance that any of the emails sent out end up in spambox. have read that email providers are increasingly getting more strict about smtp authentication and all that.