首页 文章

为什么php使用PHPMailer从localhost而不是从服务器发送电子邮件?

提问于
浏览
0

我正在使用PHPMailer和SMTP发送电子邮件 . 首先,我只是从我的localhost测试它,它已成功发送电子邮件 .

但是,当我将相同的代码上传到我的服务时,它会向我显示以下错误而不发送电子邮件;

Error Message is :

2016-04-22 05:53:10 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-04-22 05:53:10 SMTP连接()失败 . https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting邮件未发送

我不明白为什么它向我显示此错误消息,因为我使用100%相同的代码 .

Here is my email sending script using PHPMailer :

require 'PHPMailerAutoload.php';
$m =  new PHPMailer();

$m->isSMTP();
$m->SMTPAuth = true;
$m->SMTPDebug = 2;

$m->Host = 'smtp.gmail.com';
$m->Username = 'username';
$m->Password = 'password'; // google app password
$m->SMTPSecure =  'ssl';
$m->Port = 465;

$m->From = 'from@gmail.com';
$m->FromName = 'Shibbir Ahmed';
$m->addReplyTo('reply@gmail.com', 'Reply Address');
$m->addAddress('to@gmail.com', 'Shibbir Ahmed');

$m->Subject = 'Here is an email';
$m->Body = 'This is email';
$m->AltBody = 'Alt body';
if($m->send()) {
    echo 'mail send';
} else {
    echo 'mail is not send';
}

2 回答

  • 0

    某些服务器具有某些功能,禁用用户无法启用它们 . 请咨询您的托管服务提供商,了解他们是否启用了mail()功能 .

    在这种情况下,smtp邮件功能完全在localhost中工作,但不在服务器中工作..所以你改变服务器设置

  • 1

    指向故障排除指南的链接是有原因的 - 如果您按照它说明它会告诉您确切的错误:GoDaddy会阻止出站SMTP,因此您必须使用他们的邮件服务器 . 这个问题有很多重复,所以 search before you post .

相关问题