1

新しいホスティングに移行した後、私は奇妙な問題を抱え始めました。

PHP mail()関数は、-fパラメーターを指定してphp.iniに次の行を追加した場合にのみ機能します。(-fパラメーターを省略すると、mail()関数はtrueを返しますが、何もしません。)

[mail function]
  sendmail_path = "/usr/sbin/sendmail -t -i -f email@mydomain.com"

ただし、これにより、すべてのメッセージに次の望ましくないヘッダーが含まれるようになります。

Return-Path: <email@mydomain.com>

mail()に5番目の引数を追加しようとしましたが、効果がありません。

よろしくお願いします。前もって感謝します!

4

1 に答える 1

0

PHPメール設定を確認/変更するには:

php.iniファイルを開きます(これがどこにあるかわからない場合は、以下を参照してください)[メール機能]という行を検索します。メールサーバーの詳細を追加/変更します。これは、ローカルメールサーバーまたはISPのメールサーバーである可能性があります。php.iniファイルを保存/閉じるWebサーバーを再起動します

php.iniファイルを最初に開いたときのメール設定の例:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

追加情報は、phpinfo()PHP構成の詳細を表示できるエコーにあります。これを行うには、次の行を含む.phpファイルを作成します。これをブラウザで実行すると、PHP構成変数の完全なリストが表示されます。php.iniとsendmail_pathを含む行を検索するだけで、使用する必要のある値を確認できます。

別のアイデアはini_set()、このようにメール設定を適切に構成するために使用する可能性があるということです

メールスクリプトが引き続き失敗する場合は、メールスクリプトの先頭に次のコードを追加します。

// Please specify your Mail Server - Example: mail.example.com.
ini_set("SMTP","mail.example.com");

// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports.
ini_set("smtp_port","25");

// Please specify the return address to use
ini_set('sendmail_from', 'example@YourDomain.com');
于 2013-03-27T00:03:35.927 に答える