0

私は最近、電子メールのためだけに使用することを計画している CentOS サーバーをセットアップしました。Postfix をインストールして構成し、コマンドライン経由でメッセージを送受信しても問題なく動作しています。

専用メール サーバーの Postfix を MTA として使用して、別の CentOS サーバーでホストされている PHP アプリケーションからエンド ユーザーにメールを送信できるようにしたいと考えています。これは可能ですか?または、Apache / PHP が存在するサーバーに Postfix をインストールする必要がありますか?

可能であれば、送信されるメッセージを接続/中継するにはどうすればよいですか?

独自のメール サーバーを実行するための一般的な規則やベスト プラクティスを探しているので、アドバイスをいただければ幸いです。ありがとう!

4

2 に答える 2

2

PHP で使用する場合mail()、ドキュメントには、ローカル マシンでのみ sendmail を使用すると記載されています。

ただし、次のリンクのように、他のサーバーにメールを転送するように sendmail をセットアップすることもできます: http://www.cyberciti.biz/faq/configure-sendmail-as-a-smart-host/

そのページによると、これを行うことができます:

に追加/etc/mail/sendmail.mc:

define(`SMART_HOST',`my_smtp_server')

その後、sendmail を再起動します。それでもうまくいかない場合は、次のコマンドを実行する必要があるかもしれません:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

また

cd /etc/mail; make

その後、sendmail を再起動します。

sendmail が使用するサーバー名を偽造する必要がある場合は、これを sendmail.nc に追加することができます (参照: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ s2-email-mta-sendmail.html ):

FEATURE(always_add_domain)
FEATURE(`masquerade_entire_domain')
FEATURE(`masquerade_envelope')
FEATURE(`allmasquerade')
MASQUERADE_AS(`my_public_domain.')
MASQUERADE_DOMAIN(`my_public_domain.')
MASQUERADE_AS(my_public_domain)
于 2013-10-16T05:40:46.327 に答える
1

MTA への適切な接続を確保する必要があり、タイムアウトの問題が原因でメールが配信されない可能性がある場合は、php/apache が存在する同じサーバー上で postfix を MTA として構成できます。したがって、ローカルの apache/php サーバーで postfix を実行し、php で設定を構成してメールを送信できます。

http://email.about.com/od/emailprogrammingtips/qt/How_to_Send_Email_from_a_PHP_Script.htm

上記のリンクが参考になります。

よろしくお願いいたします。
Alok Thaker

于 2013-10-16T05:33:30.750 に答える