2012-02-21 59 views
1

我正在使用PHP运行Apache服务器。到目前为止,已经使用PHP的mail()函数从这个Apache服务器发送给用户的电子邮件。分离电子邮件和前端服务器的最佳方式

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

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

谢谢

+0

可能重复[在不同的服务器上的电子邮件和Web拆分:通过PHP发送电子邮件到该域的电子邮件](http://stackoverflow.com/questions/8000781 /电子邮件和网络-split-上不同的服务器,发送电子邮件,通过-PHP到一个电子邮件上,即) – webbiedave 2012-02-21 21:59:23

回答

2

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

1

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

swiftmailer例如做得很好。

1

你可以用你选择的语言(可能是php)创建一个web服务,并定义一个确切的接口来发送邮件。一个简单的原型是:

public function sendMail(string from, array to, subject, body, whatnot) 

然后你可以通过公开例如该服务PHP肥皂(如果你使用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 ("[email protected]", array of recps, etc); 

// return 
print $erg."\n"; 
相关问题