4

これが私のコードです:

<?php
mail('myemail@gmail.com','Test','Test');
?>

会社以外のアドレスに送信すると、次のエラーが表示されます。

Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay in C:\inetpub\wwwroot\internal_tools\include\mail.php on line 2

メールアドレスを仕事用メールに切り替えると、問題なく動作します。私の PHP.ini も問題ないようです。

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
SMTP = PCMAIL1.mycompany.com
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = no-reply@mycompany.com

IIS7 でサイトをセットアップすることもできます。

何か案は?

4

2 に答える 2

5

迷惑メールの送信による悪用を防ぐために、多くの電子メール サーバーでは、メールを中継する (受信者の電子メール サーバーに転送する) 前に、クライアントが正当なユーザーとして認証される必要があります。IIS で資格情報を指定しました。ただし、PHP はそれらを使用しません。

オプションは次のとおりです。

  • 関数の代わりに、mail()SMTP 認証をサポートする既存の PHP メーラー ライブラリ (PEAR Mail、phpmailer、Swift Mailerなど) のいずれかを使用します。
  • msmtpまたは代替手段の 1 つをインストールして構成します( msmtp を PHP で動作させる方法は次のとおりです)。PHP は、適切に設定されていれば、メッセージを送信する必要があるときはいつでも、SMTP 認証をサポートするプログラムを実行しますsendmail_path
  • メール サーバーの構成を変更して、Web サーバーの IP アドレスからメールを中継できるようにします。
于 2013-06-14T02:44:51.583 に答える
0

SMTP プロバイダーのポリシーを確認する必要があります。または、SMTP サーバーの構成を確認する必要があります (このサーバーがメールを直接配信する場合)。

于 2013-06-13T19:07:51.623 に答える