0

私はphpメール機能を使用していますが、うまく機能します。この機能を使用するのは本当に好きではありませんが、これを行う必要があります。

問題は、特殊なヨーロッパ文字が電子メールでおかしな方法で表示されていることです。成文化を iso-8859-1 に設定しようとしましたが、同じことが起こっています。

$to = $eemail;
$subject = $campos[4];
$message = $campos[5];
$message = mb_convert_encoding($message, 'HTML-ENTITIES', 'iso-8859-1');
$from = $campos[1];
$headers = "From:".$from."\r\n";

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-Mailer: PHP". phpversion() ."\r\n";

残りは、AJAX 経由で送信される基本的なメール フォームです。

$(function() {  
  $(".submita").click(function() {        
      var nome = $('#nome').attr('value');
      var email = $('#email').attr('value');
      var telemovel = $('#telemovel').attr('value');
      var loja = $('#loja').attr('value');
      var assunto = $('#assunto').attr('value');
      var mensagem = $('#mensagem').attr('value');

      var dataString = 'nome='+ nome + '&email=' + email + '&telemovel=' + telemovel + '&loja=' + loja + '&assunto=' + assunto + '&mensagem=' + mensagem;
      $.ajax({
    type: "POST",
    url: "ajaxload/conemail.php",
    data: dataString,
    success: function() {
        $(".mensagem").fadeIn();
      }
      });
      return false;
  }); 
});

何がうまくいかないのですか?

4

2 に答える 2

1

php.netからこのリンクをchk

http://php.net/manual/en/function.mail.php

これがお役に立てば幸いです。これは、私がURLを提供したこのphp.netページの小さなコンテンツです。

Sending messages with polish special characters:
<?php
function plmail($mail, $sub, $mes){
    $headers = "From: ExRobot <robot@example.com>\r\n";
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/plain; charset=utf-8\r\n";
    $headers .="Content-Transfer-Encoding: 8bit";

    $mes=htmlspecialchars_decode($mes,ENT_QUOTES);//optional - I use encoding to POST data
    mail($mail, "=?utf-8?B?".base64_encode($sub)."?=", $mes, $headers);
}
?>
Page must be in utf-8 encoding.
于 2012-04-13T16:46:46.860 に答える
1

エンコーディングまたは「コード化」がプラットフォーム間で異なる場合 (つまり、メッセージ/電子メール、フォーム、Web ブラウザーなど)、奇妙な結果が得られます...

ほとんどの場合、utf-8 を使いたくなるでしょう。

編集、utf-8の使用を回避できないが、メッセージを表示するページを制御できる場合は、メタタグを設定できます

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
于 2012-04-13T16:50:56.087 に答える