分离电子邮件和前端服务器的最佳方式

时间:2012-02-21 21:54:49

标签: php email qmail

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

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

现在Apache服务器已经没有任何电子邮件软件,让它发送电子邮件的最佳方式是什么(即将电子邮件内容发送到新的邮件服务器)?据我所知,PHP的mail()函数不适合从单独的服务器发送邮件。

谢谢

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

例如,

swiftmailer做得很好。

答案 2 :(得分: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";

答案 3 :(得分:1)

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