我无法添加发件人 - phpmailer
Posted
技术标签:
【中文标题】我无法添加发件人 - phpmailer【英文标题】:I can't add the sender - phpmailer 【发布时间】:2021-12-21 04:03:40 【问题描述】:当我得到用户输入的电子邮件字段的值时,电子邮件没有到达。发送时甚至没有错误,但我没有收到电子邮件。我只有在添加带有网站地址的电子邮件地址时才能收到电子邮件,例如“greenervasul@greenervasul.com.br”。
我已经研究过,尝试了一些东西,但到目前为止还没有得到任何东西。有谁知道为什么?
<?php
$url = $_SERVER['HTTP_REFERER'];
$url = strtok($url, '?');
$name = $_POST['name'];
$tel = $_POST['phone'];
$company = $_POST['company'];
$from = $_POST['email'];
$message = $_POST['message'];
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.kinghost.net'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'nelson@greenervasul.com.br';
$mail->Password = '@@@@@@@@@@';
$mail->SMTPSecure = 'startls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = '587'; // TCP port to connect to
$mail->setFrom($from, $name);
$mail->addAddress('gabrielruiztq@gmail.com');
$mail->ishtml(true); // Set email format to HTML
$mail->Subject = 'Lojista';
$mail->Body = 'Nome: '.$name. '<br>Telefone: '.$tel. '<br>Empresa: '.$company. '<br>Menagem: '.$message;
$mail->AltBody = $message;
if(!$mail->send())
header("Location: $url?send=error");
else
header("Location: $url?send=success");
【问题讨论】:
这能回答你的问题吗? PHP mail function doesn't complete sending of e-mail 查看上述副本中标题为请勿使用虚假From:
发件人的部分。
仅向 GMail 地址发送电子邮件是行不通的。它甚至可能不会进入垃圾邮件文件夹,因为谷歌阻止了它。查看“SPF 记录”和“DKIM”。
另外,您有startls
,但它应该拼写为starttls
,您是否尝试过使用tls + 587 端口或ssl + 465 端口的SMTPSecure?
【参考方案1】:
几个问题:
require 'phpmailer/PHPMailerAutoload.php';
这意味着您正在运行一个非常旧版本的 PHPMailer。 Get the latest version.
$mail->SMTPSecure = 'startls';
此属性的允许值为ssl
或tls
。
$mail->Port = '587';
这是一个整数,而不是字符串。目前的建议是使用SMTPSecure = 'ssl'
和Port = 465
。
mail->setFrom($from, $name);
您使用提交者的电子邮件地址作为发件人地址。这是伪造的,这意味着您的邮件通常会被彻底拒绝或放入垃圾邮件文件夹。查看 PHPMailer 提供的the contact form example 了解如何安全地执行此操作。
这可能很明显,但启用调试输出会阻止您的重定向工作,因此请务必在生产中使用它之前禁用它。
【讨论】:
以上是关于我无法添加发件人 - phpmailer的主要内容,如果未能解决你的问题,请参考以下文章
无法弄清楚如何在同一 ScrollView 中的 WebView 上方添加自定义视图
以编程方式添加视图和手势 - “发送到实例的无法识别的选择器”
MFMessageComposeViewController - 禁用收件人的添加/编辑?