我想用Gmail SMTP服务器到PHP Mailer发送邮箱.

这是我的密码

<?php
require_once('class.phpmailer.php');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet="UTF-8";
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = 'MyUsername@gmail.com';
$mail->Password = 'valid password';
$mail->SMTPAuth = true;

$mail->From = 'MyUsername@gmail.com';
$mail->FromName = 'Mohammad Masoudian';
$mail->AddAddress('anotherValidGmail@gmail.com');
$mail->AddReplyTo('phoenixd110@gmail.com', 'Information');

$mail->IsHTML(true);
$mail->Subject    = "PHPMailer Test Subject via Sendmail, basic";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";
$mail->Body    = "Hello";

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

但我收到以下错误

Mailer Error: SMTP Error: The following recipients failed: anotherValidGmail@gmail.com

SMTP server error: SMTP AUTH is required for message submission on port 587

我的域名是vatandesign.ir

推荐答案

$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->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "email@gmail.com";
$mail->Password = "password";
$mail->SetFrom("example@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("email@gmail.com");

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

上面的代码已经过测试,并为我工作.

可能你需要$mail->SMTPSecure = 'ssl';美元

另外,请确保您没有为该帐户打开两步验证,因为这也可能导致问题.

已更新

You could try changing $mail->SMTP to:

$mail->SMTPSecure = 'tls';

值得注意的是,一些smtp服务器的挡路连接. 某些SMTP服务器不支持SSL(或TLS)个连接.

Php相关问答推荐

PHP等效于SQL的DATEDiff

当我们使用PHPUnit时,控制台中的--uses param到底起了什么作用以及如何使用?

Laravel:从匹配的数组数据中获取记录

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

保存PHP条带以备将来使用,不显示用户界面

Htaccess-重写对&api.php";的API请求以及对";web.php";的其他请求

PHP-带POST验证的for循环

如何从Laravel中的Spatie\Dns\Records\A对象中提取IP地址

从两个日期创建日期范围,然后为范围中的每个日期复制子数组

在WooCommerce中只允许高价产品的BACS付款

根据WooCommerce中的自定义用户元数据值更改用户角色

如何在其他数组php中创建具有关联数组的数组

如果所有请求都通过index.php路由,如何使用htaccess文件强制使用HTTPS?

使用 php Carbon 获取两个日期之间的随机日期和时间

Shopware 6 插件:如何删除/迁移布尔配置到多选配置

订单完成后创建 WooCommerce 促销代码

将图像作为 PHP post 响应发送到浏览器

PHP 简单 XML Xpath 上移树(带有名称的父级)

如何在构建 PHP 类别数组树的递归函数中将父面包屑传递给子项?

使用 PHP 正则表达式从仅包含具有现有顺序的顶级标签的 XML 文档中搜索和创建数组