我使用phpmailer类作为我的网站表单。但 YANDEX MAIL 与phpmailer发送邮件无法正常工作。 但两天前它的工作。我尝试了所有组合。
例如:" ssl"," tls","端口更改"但是我没有工作。我的代码示例:
$mail->IsSMTP();
$mail->SMTPSecure = "ssl"; // or "tls" (I was try)
$mail->Host = "smtp.yandex.com.tr"; or "ssl://smtp.yandex.com.tr"(I was try)
$mail->Port =587; or "465,25,587"(I was try)
$mail->SMTPAuth = true; or "false"
$mail->Username = "email@mywebsite.com";
$mail->Password = "mypassword";
$mail->From = "email@mywebsite.com";
$mail->FromName =$email;
$mail->AddAddress("goto@mywebsite.com");
感谢所有答案
答案 0 :(得分:2)
我也在努力解决这个问题。以下是经过验证的工作设置。但在尝试这些设置之前,您还需要登录Yandex并接受eula或https://mail.yandex.com之类的内容。
$mail->Host = 'smtp.yandex.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->SMTPOptions = array (
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true)
);
答案 1 :(得分:0)
我遇到了同样的问题。我找到了可行的解决方案:
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'smtp.yandex.ru';
$mail->Port = 25;
$mail->Username = 'user@yandex.ru';
$mail->Password = 'PasswordGoesHere';
$mail->setFrom('user@yandex.ru', 'Username');
$mail->addAddress($mailToAddr);
$mail->CharSet = "Windows-1251";
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = nl2br($message);
$mail->AltBody = $message;
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
// email sent
}
答案 2 :(得分:0)
就我而言,我公司的防火墙阻止了smtp。我与个人热点建立了联系,然后开始工作。
答案 3 :(得分:0)
至于现在(2021 年 6 月)要将 PHPMailer 与 Yandex 一起使用,您应该执行以下操作:
首先,准备您的 Yandex 帐户。他们有很清楚的instruction,但是是俄语。简而言之:
在“邮件 → 所有设置 → 电子邮件客户端”页面上,选中“使用邮件客户端检索您的 Yandex 邮件 - 通过 IMAP 从 imap.yandex.com 服务器”和“IMAP 授权方法 - 应用密码和 OAuth令牌”。
在“密码和授权”部分的“帐户管理”页面上,选择“启用应用密码”并创建新的应用密码。
然后您可以使用启用了 smtp.yandex.ru:465
加密和应用程序密码的 SMTP 端点 SSL
,如下所示:
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'smtp.yandex.ru';
$mail->Port = 465;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // public const ENCRYPTION_SMTPS = 'ssl';
$mail->Username = 'EMAIL@yandex.ru';
$mail->Password = 'PASSWORD';
$mail->setFrom('FROM_EMAIL@yandex.ru', 'FROM');
$mail->addAddress('TO_EMAIL@yandex.ru');
$mail->Subject = 'SUBJECT';
$mail->Body = 'BODY';
$mail->send();
您可以通过在“邮件→所有设置→电子邮件客户端”页面勾选“IMAP授权方式-门户密码”来避免创建应用程序密码并使用您的帐户密码,但服务不建议这样做。