如何在没有安装 SMTP 服务器的情况下从 PHP 发送电子邮件?
我在专用服务器上有一个经典的 LAMP 平台(Debian、Apache2、PHP5 和 MySQL)。
我听说 PHPMailer 可以在不安装 SMTP 的情况下发送电子邮件。 PHPMailer 是最好的选择吗?
I have a classic LAMP platform (Debian, Apache2, PHP5 and MySQL) on a dedicated server.
I heard PHPMailer can send email without having installed SMTP. Is PHPMailer the best choice for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,PHPMailer是一个非常好的选择。
例如,如果您愿意,您可以使用谷歌免费的 SMTP 服务器(就像从您的 gmail 帐户发送一样。),或者您可以跳过 smtp 部分并将其作为典型的 mail() 调用发送,但使用所有正确的标题等。它提供多部分电子邮件、附件。
设置也很容易。
Yes, PHPMailer is a very good choice.
For example, if you want, you can use the googles free SMTP server (it's like sending from your gmail account.), or you can just skip the smtp part and send it as a typical mail() call, but with all the correct headers etc. It offers multipart e-mails, attachments.
Pretty easy to setup too.
您也可以使用 phpmailer 使用默认的 php mail() 函数发送。
我建议不要尝试使用 mail() 函数手动执行操作,而是使用 phpmailer 并将其配置为使用 mail()。
我想指出的是,即使您自己没有使用 SMTP 连接来发送邮件,mail() 函数仍然会使用 SMTP 连接或服务器的 sendmail 程序来发送电子邮件,这样就可以必须对其进行配置才能正常工作。
You can use phpmailer to send using the default php mail() function as well.
I recommend not trying to do things manually using the mail() function, use phpmailer instead and configure it to use mail().
I'd like to point out that even though you're not using an SMTP connection to send the mails yourself, the mail() function will use either an SMTP connection or the server's sendmail program to send out the emails anyways, so that will have to be configured for it to work correctly.
您必须自行找出邮件收件人的 SMTP 地址。
(使用getmxrr等函数查询DNS/MX记录)
You have to find out the SMTP address of the recipient of the mail by yourself.
(Querying the DNS/MX record with function like getmxrr)
没有SMTP,可以使用PHP邮件功能:
http://php.net/manual/en/function.mail.php
Without SMTP, you can use the PHP mail function:
http://php.net/manual/en/function.mail.php