ホームページ >バックエンド開発 >PHPチュートリアル >phpmailer クラスを使用してメールを送信すると、500 エラー メッセージが表示されます。
phpmailer クラスを使用してメールを送信しますが、500 エラーの内部サーバー エラーが表示されます。
呼び出しコードはオンラインの例に基づいて書かれているはずです。
この関数を実行する前に、他に必要な手順や設定はありますか?電子メールの送信についてはどうですか?
500 エラーは、コードに問題があることを意味します。
php のエラー表示機能をオンにしてデバッグします
内部サーバー エラー
サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした
サーバー管理者 (admin@example.com) に連絡して通知してください。エラーが発生した時間、およびエラーの原因となった可能性のある行動
このエラーに関する詳細は、サーバー エラー ログで入手できる可能性があります
実行するとすぐに、これを直接求めるプロンプトが表示されます。エラーが報告されます。
require("./class.phpmailer.php");$mail = new PHPMailer();$mail->IsSMTP(); // 启用SMTP$mail->Host = "smtp.sina.cn"; //SMTP服务器$mail->SMTPAuth = true; //开启SMTP认证$mail->Username = "fgrhda"; // SMTP用户名$mail->Password = "123456"; // SMTP密码$mail->From = "fgrhda@163.com"; //发件人地址$mail->FromName = "Mailer"; //发件人$mail->AddAddress("97235694@qq.com", "Josh Adams"); //添加收件人//$mail->AddAddress("ellen@example.com");$mail->AddReplyTo("97235694@qq.com", "Information"); //回复地址$mail->WordWrap = 50; //设置每行字符长度/** 附件设置$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // 添加附件,并指定名称*/$mail->IsHTML(true); // 是否HTML格式邮件$mail->Subject = "Here is the subject"; //邮件主题$mail->Body = "This is the HTML message body <b>in bold!</b>"; //邮件内容$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //邮件正文不支持HTML的备用显示if(!$mail->Send()){ echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit;}echo "Message has been sent";
2 行のコードが表示されますが、意味がわかりません
php ファイルのヘッダーに
date_default_timezone_set("PRC"); を追加します。試してみてください。
または、php.ini でタイムゾーンを設定します: date.timezone=PRC