0

README ファイルに記載されている PHPMailer サンプル スクリプトを試してみました。さて、そのスクリプトを実行すると:

<?php
require("phpmailer.inc.php");

$mail = new phpmailer;

//$mail->IsSMTP(); // set mailer to use SMTP
$mail->From = "from@email.com";
$mail->FromName = "Mailer";
//$mail->Host = "smtp1.site.com;smtp2.site.com";  // specify main and backup server
$mail->AddAddress("someone@someplace.com");
//$mail->AddAddress("ellen@site.com");   // name is optional
$mail->AddReplyTo("info@site.com", "Information");
$mail->WordWrap = 50;    // set word wrap
//$mail->AddAttachment("c:\\temp\\js-bak.sql");  // add attachments
//$mail->AddAttachment("c:/temp/11-10-00.zip");

$mail->IsHTML(true);    // set email format to HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the message body";
$mail->Send(); // send message
?>

次の警告が表示されます。

警告: mb_send_mail() [function.mb-send-mail]: サポートされていない文字セット ""iso-8859-1";" - /export/opt/samplefiles/phpmailer.inc.php の 162 行目で ascii と見なされます

受信したメッセージにはヘッダーも含まれています。

Mime-Version: 1.0 メッセージ本文です

助けてください

4

2 に答える 2

0

その最初の警告mb_send_mail()は、通常のmail()機能よりも使用されていることを示唆しています。PHPMailerパッケージで準備される可能性は低いです。

それはあなたが注意しなければならない設定mbstring.func_overloadです。ビットゼロを設定するべきではありません。(たとえば 、-または7から6に変更5します。-またはたとえばからに変更します。)432

php.iniまたはで設定する必要があり.user.iniます。関数のオーバーロードは実行時に修正できません。

それが適応できない場合、回避策は、提供された値mb_internal_encoding("UTF-8");を適用mb_encode_mimeheader()した後、エラーメッセージを回避することです。ただし、文字セットパラメータの前後の引用符を省略するには、PHPMailerを調整する必要があります。

于 2012-08-12T09:03:41.590 に答える
0

私は実際に古いバージョンの PHPMailer (バージョン 0.89 か何か) を使用していることに気付きました。新しい 5.2 を入手しましたが、解決されたようです。とにかくありがとう :P

于 2012-08-13T04:53:55.913 に答える