我正在尝试使用php-mailer-class,但却遇到了不同的问题。
请查看我的代码。
include ("class.phpmailer.php");
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug =1; // debugging: 1 = errors and messages, 2 = messages only
//$mail->SMTPAuth = true; // authentication enabled
$mail->Host = 'relay-hosting.secureserver.net';
$mail->Port = 25;
$mail->Username = "admin@****.in";
$mail->Password = "******";
$mail->SetFrom('*****0014@gmail.com', 'User name');
$mail->Subject = 'mailing';
$mail->Body = "<b>Hi, your e- mail has been received.</b>";
$mail->AddAddress("*****0014@gmail.com");
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
return false;
} else {
$error = 'Message sent!';
return true;
}
错误 - :
SMTP -> ERROR: EHLO not accepted from server:
SMTP -> ERROR: HELO not accepted from server:
SMTP -> NOTICE: EOF caught while checking if connectedThe following From address failed: *****0014@gmail.com
如果我使用的是Gamil设置,此代码运行良好不使用godaddy SMTP设置。
答案 0 :(得分:1)
我检查了你的代码,并且预计错误的原因很少。
如果以上两者都解决了,请通过添加额外的行来修改代码,如下所示。
$mail->Host = 'relay-hosting.secureserver.net';
$mail->Port = 25;
$mail->SMTPAuth = true;
这在我的服务器中运行良好。
从THIS问题,它描述了共享主机中SSL SMTP连接的服务器阻止。因此,让邮件程序使用TLS,这样做,更改端口号和SMTP模式。
$mail->SMTPSecure = "tls";
$mail->Port = 587;
具体而言,根据This问题,您告诉您正在使用godaddy托管,将主机配置更改为
$mail->Host = localhost;
答案 1 :(得分:1)
为时已晚,但对其他人有帮助。
GoDaddy阻止除其自身外的所有传出SMTP连接。
致电GoDaddy,要求他们在服务器上添加SMTP中继(例如gmail smtp.gmail.com)。
答案 2 :(得分:0)
@ vipulsharma,很简单,您不需要直接向“relay-hosting.secureserver.net”提及主机网址,因为您使用的是共享主机,因此您必须将主机目标指向您的localhost文件夹。对于共享主机,GoDaddy已在内部配置主机设置。更改代码中的以下更改。
$mail->Host= 'localhost';
$mail->ssl=false;
$mail->authentication=false;
$mail->Port=25;