SMTPを使用して電子メールを送信しようとすると、次のエラーが発生しました。
Language string failed to load: from_failed**[email protected]**
これが私のコードです:
$mail = new PHPMailer();
//$mail->SetLanguage('en',dirname(__FILE__) . '/phpmailer/language/');
$SMTP_Host = "smtp.gmail.com";
$SMTP_Port = 465;
$mail->SMTPSecure = 'ssl';
$SMTP_UserName = "[email protected]";
$SMTP_Password = "****";
$from = "[email protected]";
$fromName = "My Name";
$to = "[email protected]";
$mail->IsSMTP();
$mail->Host = $SMTP_Host;
$mail->SMTPAuth = true;
$mail->Username = $SMTP_UserName;
$mail->Password = $SMTP_Password;
$mail->From = "[email protected]";
$mail->FromName = "From Name";
$mail->AddAddress("[email protected]");
$mail->AddReplyTo($from, $fromName);
$mail->IsHTML(true);
$mail->Subject = "This is an message from our website";
$mail->Body = $design;
if(!$mail->Send())
{
echo "Error : " . $mail->ErrorInfo;
exit;
}
どうすれば修正できますか?
これは通常、メッセージを吐き出そうとしているときにphpMailerクラスが言語ファイルを見つけられないことを意味します。
これを修正する最も簡単な方法は、言語フォルダーへのパスを含めて言語を手動で設定することです。
$mail = new PHPMailer();
$mail->SetLanguage("en", 'includes/phpMailer/language/');
それはあなたの言語フォルダにあります。または、SetLanguage
メソッドを次のソースにポイントするだけです。
1 <?php
2 /**
3 * PHPMailer language file.
4 * English Version
5 */
6
7 $PHPMAILER_LANG = array();
8
9 $PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' .
10 'recipient email address.';
11 $PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.';
12 $PHPMAILER_LANG["execute"] = 'Could not execute: ';
13 $PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.';
14 $PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.';
15 $PHPMAILER_LANG["from_failed"] = 'The following From address failed: ';
16 $PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' .
17 'recipients failed: ';
18 $PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.';
19 $PHPMAILER_LANG["connect_Host"] = 'SMTP Error: Could not connect to SMTP Host.';
20 $PHPMAILER_LANG["file_access"] = 'Could not access file: ';
21 $PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: ';
22 $PHPMAILER_LANG["encoding"] = 'Unknown encoding: ';
23 ?>
システム内部メール機能をご利用いただけます。この場合、phpMailerはSMTPに正しく接続できませんでした。サーバーの「mail」関数を使用して、phpMailerでメールを送信することをお勧めします。
交換
$mail->IsSMTP();
に
$mail->Mailer = "mail";
PhpMailers機能を備えたシステム内部の「メール」関数を使用しているため、スクリプトが正常に機能することを願っています。