【问题标题】:How to send out emails from a php file?如何从 php 文件中发送电子邮件?
【发布时间】:2012-01-20 10:22:22
【问题描述】:

我知道php中的mail函数: mail ($to, $subject, $msg_body,$headers);

但由于我无法访问主机的 php.ini 文件,因此我收到了以下详细信息:

SMTP host: mailout.host.com 
Port: 25 SMTP
Username: email@domainname.com
SMTP Password: not required
Authentication: Disabled
Encryption: Disabled

如何使用这些详细信息发送电子邮件?

编辑:我使用了 Blender 指出的示例(如下),它似乎适用于除 gmail 之外的所有电子邮件。知道为什么吗?是否与完全限定地址有关?

【问题讨论】:

  • 这可能会有所帮助。它需要 PEAR,但您的服务器上可能没有安装它:email.about.com/od/emailprogrammingtips/qt/…
  • 您是否尝试使用mail()?对于大多数共享主机提供商,它已经正确配置,因此您无需任何修改即可轻松使用它。
  • @ThiefMaster 我做到了,但由于某种原因,它似乎只在 hotmail 地址上发送电子邮件。例如,如果我向 abc@hotmail.com 发送电子邮件,它将被发送,而 abc@gmail.com 不会被发送。因此,如果可能的话,我正在尝试自己配置。
  • 如果其他客户使用它们发送那些不错的伟哥销售电子邮件,您的 ISP 的服务器可能会被列入一些垃圾邮件黑名单。在这种情况下,使用他们的 SMTP 可能根本没有帮助......
  • 我刚刚使用@Blender 指出的示例进行了检查,它说:“无法添加收件人:abc@gmail.com [SMTP:从服务器收到的响应代码无效(代码:504,响应: 5.5.2:发件人地址被拒绝:需要完全合格的地址)]"

标签: php email configure


【解决方案1】:

PHPMailer 是一个非常知名且广泛使用的替代方案

查看SMTP mail example

【讨论】:

  • 已在多个项目中使用过此功能。比仅使用原始电子邮件功能更方便且更有可能通过。
  • 我已经解决了这个问题,bul一定会给PHPMailer一个机会。
【解决方案2】:

您可以使用 SwiftMailer (http://swiftmailer.org/) 通过您可以登录的任何电子邮件帐户(包括 gmail)发送电子邮件。它非常健壮,但确实存在一个错误,即它会为包含大量 html 的电子邮件占用大量内存。

【讨论】:

  • 我刚刚阅读了有关 PHPMailer 的信息并决定试一试。谢谢。
  • PHPMailer 曾经是“转到”邮件程序,但后来被放弃了。几年前我曾经使用过它(PHP4)。它被某人捡到并发布了一个新版本,但似乎没有太多的开发活动。
猜你喜欢
  • 2017-01-16
  • 2014-04-12
  • 2023-03-26
  • 2014-05-23
  • 2011-03-04
  • 1970-01-01
  • 2011-09-16
  • 2014-03-06
相关资源
最近更新 更多