0

ここに私の設定ファイルがあります。

sendmail.ini

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=(Correct SMTP Server)

; smtp port (normally 25)

smtp_port=25

php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = (Correct SMTP Server)
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = (user@(server.com)) <- correct name

PHP コード

<?php
$from_name = "testing";
$from_email = "myemail@something.com";
$headers = "From: $from_name <$from_email>";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$body = "Hi,\nThis is a test mail from $from_name <$from_email>.";
$subject = "Test mail from test";
$to = "myemail@something.com";

if (mail($to, $subject, $body, $headers)) {
  echo "success!";
} else {
  echo "fail…";
}
?>

コードを実行すると、確かに電子メールが送信されたと表示されますが、電子メールを確認すると、受信するものがありません...助けてください! この問題を解決するために、できるだけ多くの関連情報を提供します。

4

2 に答える 2

1

これを自宅または小さなオフィスからテストしている場合、ISP はポート 25 でアウトバウンド トラフィックをブロックしている可能性があります。PHP は失敗しませんが、メッセージはブロックされます。465 や 587 などの別のポートで外部 SMTP サーバーに接続する必要があります。許可されているものの詳細については、ISP の Web サイトを参照してください。

于 2012-04-12T04:19:20.273 に答える