1

Venture Web によって開発された完全に機能する Drupal サイトがあります。

私の問題は、サーバーで php mail() を使用できないが、代わりに Pear メール ユーティリティを使用していることです。私は現在、Pear メール関数を呼び出す PHP で自分で開発したメール ユーティリティに Drupal からリンクしています。

UTF-8 エンコーディングに問題があるように見えるという事実を除いて、問題なく動作します。フランス語の文字がどこに関係しているかは、最も明白です。

たとえば、次のフレーズをメールで送信しようとすると:

les caractères spéciaux をテストします。À, ç, ê, ù

メッセージをキャプチャーしている変数 $message の内容を表示すると、まさに上記の内容が得られます。

しかし、メールが配信されると、次のようになります。

les caractères spéciaux をテストします。 ã€, ç, ê, ù

関連するPHPコードは次のとおりです。

    $hdrs = array(
    'From'      => $email,
    'To'        => $tomail,
    'Cc'        => not included for security reasons,
    'Subject'   => $subjectline,
    'Content-Transfer-Encoding' => 'quoted-printable'
                       );
    $recipients=$tomail.', inquiries@barkbusters.ca';
    $mime = new Mail_mime($crlf);
    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);

    //do not ever try to call these lines in reverse order
    $body = $mime->get(array('text_charset' => 'utf-8'));
    $hdrs = $mime->headers($hdrs);

    $params["host"] = 'smtp.barkbusters.ca';
    $params["port"] = "26";
    $params["auth"] = true;
    $params["username"] = not included for security reasons;
    $params["password"] = not included for security reasons;

    $mail =& Mail::factory('smtp', $params);
    $mail->send($recipients, $hdrs, $body);
4

1 に答える 1

0

したがって、あなたの pear メール ユーティリティについてはよくわかりませんが、utf-8 の通常の php ヘッダーは次のようになります

$headers = array("Content-Type: text/html; charset=UTF-8");

ここに役立つ情報があります.. UTF-8 メールの送信方法は?

于 2013-01-31T20:48:23.837 に答える