2012-02-21 8 views
1

私はPHPでApacheサーバーを実行しています。これまで、PHPのmail()機能を使用して、このApacheサーバーからユーザーへの電子メールが送信されました。電子メールとフロントエンドサーバーを分ける最善の方法

この構造を最適化するために、電子メールの部分を別のサーバー(qmailを排他的に実行する)で分離したいと考えています。

Apacheサーバーに電子メールソフトウェアがもうないので、電子メールを送信する(つまり新しいメールサーバーにメールコンテンツを送信する)最も良い方法は何ですか?私の知る限り、PHPのmail()関数は、別のサーバからメールを送信するのには適していません。

+0

が重複する可能性:(http://stackoverflow.com/questions以下は、PHPからSMTP接続を使用しての良い例です/ 8000781/email-and-web -split-on-different-servers-send-email-via-php-to-an-email-on-that) – webbiedave

答えて

2

SwiftmailerはおそらくPHPのための最高のメールのフレームワークです、ありがとうございました。あなたはそれを使ってあなたが望むことをすることができます。

1

いくつかのラッパークラスを使用して、サブシステムから独立したsend * emphasized text * ing mailを作成することをお勧めします。

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"; 
関連する問題