3

PHPMailer を使用して、アラビア語のテキストを含むメールを送信しようとしています。空の件名を送信しています。受信トレイに「(件名なし)」と表示されます。

私は以下を使用しています:

HTML コード

<form action="mail.php" method="post">
<input type="text" name="subject" />
<input type="submit" value="Send" />
</form>

PHP コード (mail.php)

$subject = $_POST["subject"];
    $mailer = new PHPMailer();
            $mailer->CharSet = 'UTF-8';
            $mailer->IsSMTP();
            $mailer->SMTPDebug = 1;
            $mailer->SMTPAuth = true;



            // Prepare Message  
            $mailer->Subject = ($subject);
            $emails = 0;

助けていただければ幸いです:)

4

5 に答える 5

9

追加するだけ

$mailer->CharSet = 'UTF-8';

とその作品

于 2015-10-03T15:37:59.630 に答える
1
$subject = $_POST["subject"];
$subject = "=?UTF-8?B?" . base64_encode($subject) . "?="; 
于 2013-03-23T23:07:54.567 に答える
1

問題に正しく対処するには、次の手順を試してください。

  1. 件名を投稿しているページが UTF-8 でエンコードされたページであることを確認してください。

    1a. ソースが UTF-8 でない場合、

    iconv("SOURCE_ENCODING","UTF-8",$subject);
    
  2. メールを送信する前に件名を Var ダンプします。

  3. アラビア語でハードコーディングされた件名を追加してみてください。例:

    $subject= "تجربة عنوان للرسالة";
    
于 2013-03-23T22:30:58.023 に答える
0

古い方法を試してください:

$to      = 'any@mail.com';
$subject = 'Hi!';
$message = 'Whats up?';
$headers = 'From: mail@of.you.com' . "\r\n" .
        'Reply-To: noreply@blabla.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion()."\r\n";                         
$headers .= 'MIME-Version: 1.0' . "\r\n";
//if you send an html page:
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $message, $headers);
于 2013-03-23T22:25:34.130 に答える