1

簡単なフォームがあり、送信時にメールを送信しようとしています。XP Pro(これはPCではなく、作業中のサイドプロジェクトです)を実行しているので、IISを起動して実行し、LotusNotesクライアント6.5をインストールしています。php.iniファイルとIISを構成しました。

$to = "recipientemail@xxx.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}

私のphp.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = MY.IP.MY.IP 
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = myemail@xxx.com

エラーは発生せず、メッセージ送信がエコーされるため、どこが間違っているのかわかりません。最初はローカルホストを使用するように設定していましたが、機能していなかったため、IIS設定でも定義したIPを使用し、リレー制限の下でループバックとIPも定義しました。私の唯一の推測は、おそらくOutlookを探しているように、LNで正しく再生するように設定されていないものがあるのではないかということです。また、私は梨をインストールしておらず、それを使用する気もありません。また、PHPMailerを無駄に試しました。これを機能させたいだけです。

4

1 に答える 1

2

MY.IP.MY.IPのサーバーがSMTPサーバー(メールクライアントではない)を実行していない場合、mail()の呼び出しは実際には何もしません。

有効なSMTPサーバーがある場合、メールを受け入れるにはユーザー/パスが必要になる可能性があります(またはスパマーのオープンリレーになります)。これの例外は、多くの場合、メールサーバーがローカルホストからのメールを信頼できるものとして受け入れることです。

php.iniはSMTPAUTHクレデンシャルをサポートしていないと思うので、PEAR Mailパッケージを試して、使用するアクセスクレデンシャルを既に持っているSMTPサーバーで直接送信することをお勧めします。

http://pear.php.net/package/Mail/

于 2012-10-25T04:10:26.920 に答える