phpmailer无中继访问允许错误

时间:2015-10-06 20:40:31

标签: phpmailer

我的网站托管在godaddy上,我发现自从上个月以来我的网站不再通过phpmailer发送电子邮件了。我上传了最新版本的phpmailer但仍未成功。我网站的在线网络邮件运行正常。如果我使用php的“邮件”功能,它会发送电子邮件到Gmail,但不会发送到雅虎帐户。

我尝试了所有三个端口25,465和587,但没有运气

我从phpmailer收到以下错误:

SERVER -> CLIENT: 554 p3plsmtpa07-10.prod.phx3.secureserver.net ESMTP No Relay Access Allowed From 50.63.196.51
CLIENT -> SERVER: EHLO lostandfound.pakproject.com
SERVER -> CLIENT: 
SMTP ERROR: EHLO command failed: 
SMTP NOTICE: EOF caught while checking if connected
SMTP Error: Could not authenticate.
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

以下是我要测试的代码。 (用户名,密码,电子邮件已更改......)

<?php

date_default_timezone_set('Etc/UTC');    
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';    
$mail->Host = "smtpout.... my_server";    
$mail->Port = 25;    
$mail->SMTPAuth = true;    
$mail->Username = "here_i_used_my_website_email"; 

$mail->Password = "here_password";    
$mail->setFrom('website_email', 'From name');   
$mail->addReplyTo('website_email', 'From name');    
$mail->addAddress('another_email', 'name_used_here'); 

$mail->Subject = 'About the task';    
$mail->Body = 'This is email body';    
$mail->AltBody = 'This is a plain-text message body';

if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}
?>

2 个答案:

答案 0 :(得分:1)

    $mail->SMTPSecure = false; 
    $mail->SMTPAuth = false;

对我有用。 记住 https://co.godaddy.com/help/mail-server-addresses-and-ports-for-business-email-24071 **

答案 1 :(得分:0)

我可以使用以下phpmailer的代码/设置来解决我的问题

<?php


$recipient = "abc@def.com"
$subject = "Subject here";
$emailBody = "This is body";


// PHP MAILER CODE STARTS FROM HERE //
require '../phpmailermaster/PHPMailerAutoload.php';
$mail = new PHPMailer;

//$mail->SMTPDebug = 3;    // Enable verbose debug output

$mail->isSMTP();       // Set mailer to use SMTP
$mail->Host = 'smtpout.secureserver.net'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'xxx@yyyy.com'; // SMTP username
$mail->Password = '3344123';  // SMTP password

//$mail->SMTPSecure = 'ssl';    // Enable TLS encryption, `ssl` also accepted
//$mail->Port = 465;

$mail->Port = 80;   // TCP port to connect to [THIS PORT ALLOWING EMAILS]
$mail->setFrom('xxx@yyyy.com', 'hello');

//$mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient

$mail->addAddress($recipient);                 // Name is optional

//$mail->addReplyTo('info@example.com', 'Information');

//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
//$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = $subject;
$mail->Body    = $emailBody;
$mail->AltBody = $emailBody;

if(!$mail->send()) 
{
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} 
else 
{
    echo 'Message has been sent';       
}

// PHP MAILER CODE ENDS HERE ==


?>