如何在没有 SMTP 的情况下从 PHPMAILER 发送电子邮件
Posted
技术标签:
【中文标题】如何在没有 SMTP 的情况下从 PHPMAILER 发送电子邮件【英文标题】:How send email from PHPMAILER without SMTP 【发布时间】:2015-12-12 08:39:17 【问题描述】:谁能告诉我,如何从 phpMailer 不 使用 SMTP 发送电子邮件?此类包括方法isMail()
,它应该使用mail()
函数而不是SMTP 发送电子邮件。我正在使用 Xaamp。当我使用 SMTP 服务器时,它并不能正常工作。
我的代码:
$mail=new PHPMailer();
$mail->IsMail();
$mail->From = 'xxxx@email.com';
$body = "Test body message";
$mail->AddAddress("xxxx@emai.com", "John Doe");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->Msghtml($body);
if(!$mail->Send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
echo "Message sent!";
发送方法返回true
并显示电子邮件已发送的消息?
【问题讨论】:
mail() 不工作,但我读到,PHPMailer 也使用 mail() 函数。mail()
依赖于它们是在服务器上运行的正确配置、与 sendmail 兼容的 MTA。如果这不起作用,那么您需要查看服务器的日志和配置。
有时问题根本不在于mail()
函数。垃圾邮件过滤太多了,以至于您的邮件永远无法到达您认为应该到达的收件箱。使用 XAMPP 是的,有一些配置,但我不确定这是否是阻止你的原因。
该代码不会通过 SMTP 发送 - isMail
是默认值,因此您无需调用它。它将使用 sendmail 二进制文件通过 mail() 函数直接提交到本地邮件服务器。之后会涉及到 SMTP,但与 PHPMailer 无关。
嗯,我需要什么,未经授权发送电子邮件 SMTP?客户提供您的地址电子邮件和正文消息的简单表单合同。
【参考方案1】:
这个话题很老了,但对于那些会读到这个的人来说。 尝试替换
$mail->isSMTP();
由
$mail->isSendMail();
【讨论】:
以上是关于如何在没有 SMTP 的情况下从 PHPMAILER 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 \n 的情况下从 txt 中获取特定行(Python)