web-dev-qa-db-ja.com

リモートSMTPでphp.iniを構成する方法

リモートSMTPサーバー経由でmail()を使用してメールを送信するようにPHPを設定するにはどうすればよいですか?

私はphp.iniを使用してこれを実行しようとしましたが、それはWindows32でしか実行できないようで、Unixサーバーで実行したいのです。

また、リモートSMTPサーバーを使用するようにsendmailの構成を変更しようとしましたが、それが可能かどうかはわかりません。

11
Brayn

私の選択は、ローカルホストにのみメールを送信した同じWebサーバーにPostfixサーバーをセットアップし、main.cfでこの設定を使用してリモートSMTPサーバーを使用することです。

relayhost = [a.b.c.d]

わたしにはできる。

9
hdanniel

AFAIK、それは不可能です。私は:

  1. PEAR :: Mail などのより機能的なメールクラスを使用します。
  2. そのマシンからのallメールをスマートリレーする必要がある場合は、構成を検討してください [〜#〜] ssmtp [〜#〜] sendmailバイナリとして。
3
Dan Carley

msmtp は、単に外部のSMTPサーバーにトラフィックを直接転送するsendmailの代わりとして使用できます。設定は非常に簡単で、非常にうまく機能します。

2
Jonathan Prior

PHPの組み込みIMAPツール または非常に便利な PHPMailer を使用できます。

これは Stack Overflow でよりよく答えられるかもしれません...私は恐れています...

1
Andy

Linux上のPHPはsendmailに依存しています。あなたが本当にこれをしたいのなら、私は別のライブラリの別のメール機能を使うことを勧めます。次のStackOverFlow投稿に関する推奨事項があります: https://stackoverflow.com/questions/966907/specify-smtp-server-for-php-mail-in-freebsd

1
Kyle Brandt

PHP自体はこれを行うことができません。

Ssmtpなどの単純なフォワーダーには、phpメールのリレーに関する問題があります。

http://www.freehackers.org/thomas/2008/07/13/linux-a-second-class-citizen-in-the-php-world/

1
orzel

内部のmail()関数は、あなたが言ったようにWindowsマシンでのみSMTPを使用できます。

唯一のオプションは、PHPMailerを使用することです。 PEAR PHPパッケージ: http://pear.php.net/package/Mail

0
Mohammed Naser