I have the same php script running on localhost - my PC with XAMPP and on a hosted server. It works from my PC, but not from the hosted server.
When I send it from the hosted server, I get the following output:
SMTP -> ERROR: Password not accepted from server: 535 Incorrect authentication data SMTP -> ERROR: RCPT not accepted from server: 550-Please turn on SMTP Authentication in your mail client, or login to the 550-IMAP/POP3 server before sending your message. dev.camppage.com 550-(patchvalues.com) [205.234.141.238]:50958 is not permitted to relay through 550 this server without authentication. SMTP Error: The following recipients failed: [email protected] FAILED
I suspect there is a configuration setting that needs to be changed on the server, but I don't know which one. Any advice would be greatly appreciated!
Here is the code:
function send_gmail ($recipients, $subject, $message, $attachment_filenames = array()) { global $email_address, $email_password, $email_name; require_once ($_SERVER['DOCUMENT_ROOT']. '/php/PHPMailer/class.phpmailer.php'); $body = $message; $body = str_replace("\\", '', $body); $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; $mail->IsSMTP(); $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) 0 - none; 1 - errors & messages; 2 - messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Port = 465; // set the SMTP port $mail->Username = $email_address; // GMAIL username $mail->Password = $email_password; // GMAIL password $mail->SetFrom($email_address); $mail->FromName = $email_name; $mail->AddReplyTo($email_address,$email_name); $mail->Subject = $subject; $mail->MsgHTML($body); $mail->IsHTML(true); // send as HTML if (isset ($recipients[0])) { foreach ($recipients AS $to) { $to_pieces = explode (",", $to, 2); $to_email = trim ($to_pieces[0]); if (isset ($to_pieces[1])) $to_name = trim ($to_pieces[1]); else $to_name = " "; $mail->AddAddress($to_email, $to_name); } $mail->IsHTML(true); // send as HTML if ($mail->Send()){ return TRUE; } else { return FALSE; } } else { return FALSE; } }
TIA
SMTP error 535 indicates an issue with the client's authentication with the email server. It may be the result of many issues, some of the most common causes being: Invalid credentials. Disabled account.
Change the server's SMTP restrictions. Then, add the specified website user to the list of users who are authorized to initiate outbound SMTP connections. Edit PHPMailer's configuration settings, such as host and port. Correct DNS resolution for the mail server.
Error: SMTP error: could not authenticateThis error indicates that the client could not authenticate with the email server. It can be the cause of multiple reasons, for example: The user did not enter valid credentials when logging in. The user did not verify with the multi-factor authentication mechanisms enabled.
The solution was to enable outgoing SMTP from the server settings.
On servers running cPanel's WHM, this is located under WHM's "Tweak Settings" section.
The option is to enable/disable - choose disable.
Caveat: Making this change will redirect outgoing SMTP connections allow accounts to make direct connections which may increase your odds of getting your server blacklisted.
this is related to WHM/cPanel , you can do the same thing as in the previous answer or from shell by typing this
/scripts/smtpmailgidonly off
you should get
"SMTP Mail protection has been disabled. All users may make outbound smtp connections."
more reading here https://forums.cpanel.net/threads/cant-enable-smtp-restrictions.360971/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With