0

このコードを使用していると、送信されたが印刷されますが、電子メールを受信して​​いません。ローカルサーバーでメール機能を構成しましたが、すべてが正しいのに機能していません。

$to = "xxxx@yahoo.com";
$subject = "$name";
$txt = "$msg";
$headers = "From: xxxx@gmail.com";
if (mail($to,$subject,$txt, $headers)){
    echo "sent";
}else{
    echo "error";
}

送信されたと言い続けますが、メールが届きません

4

2 に答える 2

0

特に組織の電子メール アドレスの一部に電子メールを送信している場合は、サーバー側のスパム フィルタリングが問題になる可能性があります。もしそうなら、この記事はあなたに役立つかもしれません..

これは、クライアント コードのみを使用してデバッグするのは困難です。権限がある場合は、サーバーログを確認する必要があります

于 2012-08-16T06:19:21.920 に答える
0

ローカル サーバーからの送信を許可するには、php.ini と sendmail cfg を変更する必要があります。ここに私の設定があります。

PHP.ini - sendmail_path が正しい exe を指していることを確認してください。これはphp.iniの[メール機能]の下にあります

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

sendmail.ini [sendmail]

smtp_server=smtp.gmail.com
smtp_port=25
error_logfile=error.log
debug_logfile=debug.log
auth_username=gmail address
auth_password=gmail password
force_sender=gmail address

明らかに、これは gmail で動作するように構成されていますが、sendmail で正しい構成を持つ他の smtp サーバーは動作します。

于 2012-08-16T08:14:10.767 に答える