0

フォームをホストしている会社に SMTP メールを送信する PHP 顧客入力フォームがあります。何らかの理由で、電子メールが受信者の電子メールに到達していません。ドメインにない他のメールアドレスに置き換えると、うまくいきます。To: 行に複数のアドレスをリストすることもできます。他の人はメールを受け取りますが、目的の info@ メール アドレスは受け取りません。送信ドメインが一致しないと Web ホスティングがメールを送信しないため、送信ドメインを変更できません。送信メールアドレスと受信メールアドレスが同じであることが関係しているのではないかと思い、From:アドレスを「info@」から「onlineform@」に変更しましたが、違いはありませんでした。

ここで何が起こっているのか当惑しています。他のアカウントから "info@" メール アドレスに直接メールを送信でき、問題なく動作します。クライアントサーバーの迷惑メール フォルダをチェックするよう依頼しましたが、どちらもクリーンです。何が起こっているのか、または問題をさらに診断する方法についてのアイデアはありますか? コードを以下の関連部分まで単純化しました。スニペット コードは同じことを行います。

<?php
$email_to = "info@domain.tld";
$email_subject = "Subject line here";
$email_message = "Email body here.";

$headers = 'From: onlineform@domain.tld'."\r\n".
'Reply-To: noreply@domain.tld'."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
4

1 に答える 1

0

サーバーのメール ポリシーに何らかの関係がある可能性があります。メッセージがwhatever@domain.tldから送信されていることをサーバーに伝えているかもしれませんが、それを証明していません。

SMTP 認証を使用して送信しようとしましたか? これが実際の問題かどうかはわかりませんが、テストする価値はあります。

また、単純な php の mail() 関数を使用する代わりに、常にメール ソリューションを使用することをお勧めします。私は長い間PHP Mailerを使用してきましたが、うまく機能するだけでなく、PHP を介して電子メールを送信するという退屈なプロセスをいつも楽にしてくれました。

于 2013-09-11T18:36:52.703 に答える