ホームページ  >  記事  >  バックエンド開発  >  PHPMailer で接続せずに Mail() を呼び出すとエラーが発生する

PHPMailer で接続せずに Mail() を呼び出すとエラーが発生する

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

PHPMailer を使用してメールを送信し、例に基づいて次のコードを入力します

require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发送类//$address = $_POST['address'];$mail->IsSMTP(); // 使用SMTP方式发送$mail->Host = "mail.qq.com";// 您的企业邮局域名$mail->Port = '25';//$mail->SMTPAuth = true; // 启用SMTP验证功能$mail->Username = "497045318@qq.com"; // 邮局用户名(请填写完整的email地址)$mail->Password = "******"; // 邮局密码$mail->From = "497045318@qq.com"; //邮件发送者email地址$mail->FromName = "Frank Tung";$mail->AddAddress("tongzhenhang@qq.com");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")//$mail->AddReplyTo("", "");//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式$mail->Subject = "PHPMailer测试邮件"; //邮件标题$mail->Body = "Hello,这是测试邮件"; //邮件内容$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略if(!$mail->Send()){	echo "邮件发送失败. <p>";	echo "错误原因: " . $mail->ErrorInfo;	exit;}echo "邮件发送成功";

結果が表示されます
メールの送信に失敗しました

エラーの理由: 次の From アドレスが失敗しました: 497045318@qq.com : Called接続されていない状態で Mail()


/ **
* メールを送信する方法: (「mail」、「sendmail」、または「smtp」)。
* @var 文字列
   * /
var $ mailer = 'mail'

var $ mailer = 'smtp'; を変更してみてください。

QQ の smtp を再度検索します。Web ページは次のとおりです
http://kf.qq.com/faq/120322fu63YV130422nqIrqu.html
$mail->Host = "mail.qq.com"; を
に変更します。 $ mail->Host = "smtp.qq.com";
$mail->Port = '465';
まだエラーが報告されています。
$mail->Port = '587'; に変更します。
エラー メッセージ:
電子メールの送信に失敗しました。
エラーの理由: 次の From アドレスが失敗しました: 497045318@qq.com : MAIL がサーバーから受け入れられませんでした。530 を発行する必要があります。最初に STARTTLS コマンドを実行してください。
SMTP サーバー エラー: 最初に STARTTLS コマンドを発行する必要があります
チュートリアル ビデオを作成しました
InMotion Hosting - PHPMailer の使用方法
https://www.youtube.com/watch?v=JltHLzkghmY
コードは基本的に彼のものと同じです。唯一の違いは、私がサーバーではなくローカルコンピューター上にあることです(私はまだ個人サーバーを持っていません)。これが関係しているのではないかと思います。

その理由をお聞きしたいのですが。どうもありがとうございます! phpを使用してメールを送信するための良い方法やコードがあれば、それも質問したいと思います。




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

原因が判明しました。

機能をテストしているときにさまざまなエラーが発生し続けたので、行ごとにトラブルシューティングを行いました。

//$mail->SMTPAuth = true; // 启用SMTP验证功能
デバッグ時に上記の行をコメントアウトしましたが、最終的にコメントを削除するのを忘れていました。

したがって、この事業は不可欠です


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