如何在没有 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)

如何在没有 OutOfMemory 错误的情况下从 FileInputStream 获取字节数组

如何在没有“可选”的情况下从 plist 打印字符串?

如何在没有终端提示的情况下从 IPython 会话中复制

如何在没有互联网连接的情况下从位置获取地址

如何在没有任何排序参数的情况下从表格底部选择行......?