ホームページ  >  記事  >  バックエンド開発  >  PHP 電子メール送信の問題: 電子メールは送信されましたが、無効なアドレスが返されました:

PHP 電子メール送信の問題: 電子メールは送信されましたが、無効なアドレスが返されました:

WBOY
WBOYオリジナル
2016-06-23 13:48:563330ブラウズ

写真に示すように:
なぜこれが起こるのですか?


ディスカッションへの返信 (解決策)

これらはカスタム プロンプトであり、具体的な理由はコードによって異なります。コードに従ってください。 。 。

<?php resight_once application_path。 '/class.phpmailer.php'; (); // SMTP を有効にする

$mail->Host = "smtp.163.com" //SMTP サーバー Sina Mailbox
$mail->Port = 25; SMTPAuth = true; //SMTP 認証を有効にする
$mail->CharSet = "UTF-8"; //文字セット
$mail->Encoding = "base64"; // エンコード方式
$mail-> = "yzhjtx@163.com"; //あなたのメール
$mail->Password = "hjtx123456"; // あなたのパスワード -$ Mail-& GT; // メールのタイトル
GT; from = "YZHJTX@163.com"; // 送信者のアドレス (つまり、メールボックス) $ Mail- & gt; // 送信者の名前
$address = "$user_mail";//受信者のメールアドレス
$mail->AddAddress("$address");// 受信者のアドレスとニックネームを追加します
$mail->IsHTML(true) // HTML 形式のコンテンツをサポートします
$emailtype = "HTML"; //レタータイプ、テキスト:html $ mail-> //電子メールコンテンツ}}これらはカスタムプロンプトです。コードに従ってください。 。 。

メール送信のコード:
require_once APPLICATION_PATH.'/models/class.phpmailer.php';
//メールを送信
class Send_Mail{

function send_mail($fromname,$subject,$content,$ user_mail)
{
$ mail = new phpmailer (); // インスタンス化
$ mail- & gt; issmtp (); // smtp を有効にする
$ mail- & gt; SMTP サーバー Sina Mailbox
$mail->Port = 25; //メール送信ポート
$mail->SMTPAuth = true; //SMTP 認証を有効にする
$mail->CharSet = "UTF-8";文字セット
$mail->Encoding = "base64"; // エンコード方式
$mail->Username = "yzhjtx@163.com" // あなたのメールアドレス
$mail->Password = "hjtx123456 "; //あなたのパスワード
$mail->件名 out out out out out out out of $mail- >FromName = $fromname //送信者の名前
$address = "$; user_mail";//受信者のメールアドレス
$mail->AddAddress("$address");//受信者の個人アドレス、ニックネームを追加
$mail->IsHTML(true); //HTML 形式のコンテンツをサポートします
$emailtype = "HTML"; //レタータイプ、テキスト: text;
$mail->Body = $content if(!$mail-
}
}

無効なアドレス 無効なアドレス


無効なアドレス

しかし、電子メールは送信され、私のメールボックスに新しい電子メールが届きました

class.phpmailer.php に無効なアドレス プロンプトがあるかどうかを確認してください。存在しない場合は、プロジェクト全体を検索してください。

手がかりに従って、そのような情報が表示される場所を確認すると、その理由がわかります。基本的なデバッグ方法!

プロンプトは、電子メールが正しくないことを示します。


メールは受信できるが、メールサーバーがこのプロンプトを返す場合は、class.phpmailer.php で受信ステータスを確認する必要があります。

public function AddAddress($address, $name = '') {
return $this->AddAnAddress('to', $address, $name);
}

プライベート 関数 AddAnAddress($kind, $address, $name = '') {
if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) {
echo 「無効な受信者配列: 」。 親切;
falseを返します。
}
$address = trim($address);
$name = trim(preg_replace('/[rn]+/', '', $name)); //区切りを削除してトリミングします
if (!self::ValidateAddress($address)) {
$this->SetError($this->Lang('invalid_address').': '. $address);
if ($this->Exceptions) {
throw new phpmailerException($this->Lang('invalid_address').': '.$address);
}
echo $this->Lang('invalid_address').': '.$address;
falseを返します。
}
...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。