我正在使用 PHP 运行 Apache 服务器。到目前为止,已经使用 PHP 的mail()
功能从这个 Apache 服务器向用户发送了电子邮件。
为了优化这种结构,我想将电子邮件部分分离在一个单独的服务器上(专门运行 qmail)。
既然 Apache 服务器不再有任何电子邮件软件,那么让它发送电子邮件的最佳方式是什么(即将电子邮件内容发送到新的邮件服务器)?据我所知,PHP 的mail()
功能不太适合从单独的服务器发送邮件。
谢谢
Swiftmailer可能是 PHP 最好的邮件框架。你可以用它来做你想做的事。
我建议使用一些包装类来使发送*强调文本*的邮件独立于子系统。
例如swiftmailer就做得很好。
您可以使用您选择的语言(可能是 php)创建一个 Web 服务,并定义一个用于发送邮件的确切接口。一个简单的原型是:
public function sendMail( string from, array to, subject, body, whatnot )
然后,您可以通过例如 PHP soap 公开该服务(如果您使用的是 php)。你真的可以在 web 服务端使用任何技术来发送你的邮件。
也许您希望该服务返回邮件 ID 或成功状态,以便您知道它是否有效......
还有一件事:客户端看起来像这样:
require_once "SOAP/Client.php";
// SOAP/WSDL
$sw = new SOAP_WSDL ("http://example.com/mailserver.php?wsdl");
// Proxy-Obj.
$proxy = $sw->getProxy ();
// servicemthod
$erg = $proxy->sendMail ("me@example.com", array of recps, etc );
// return
print $erg."\n";
以下是从 php 使用 SMTP 连接的一个很好的例子: http ://www.9lessons.info/2009/10/send-mail-using-smtp-and-php.html