1

我正在使用 PHP 运行 Apache 服务器。到目前为止,已经使用 PHP 的mail()功能从这个 Apache 服务器向用户发送了电子邮件。

为了优化这种结构,我想将电子邮件部分分离在一个单独的服务器上(专门运行 qmail)。

既然 Apache 服务器不再有任何电子邮件软件,那么让它发送电子邮件的最佳方式是什么(即将电子邮件内容发送到新的邮件服务器)?据我所知,PHP 的mail()功能不太适合从单独的服务器发送邮件。

谢谢

4

4 回答 4

2

Swiftmailer可能是 PHP 最好的邮件框架。你可以用它来做你想做的事。

于 2012-02-21T21:57:37.197 回答
1

我建议使用一些包装类来使发送*强调文本*的邮件独立于子系统。

例如swiftmailer就做得很好。

于 2012-02-21T21:58:44.120 回答
1

您可以使用您选择的语言(可能是 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";
于 2012-02-21T22:00:27.950 回答
1

以下是从 php 使用 SMTP 连接的一个很好的例子: http ://www.9lessons.info/2009/10/send-mail-using-smtp-and-php.html

于 2012-02-21T22:10:48.430 回答