php - PHP 中的 mail() 函数带有奇怪的字符

标签 php javascript jquery ajax email

我正在使用 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;
  }); 
});

出了什么问题?

最佳答案

从 php.net 检查此链接

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.

关于php - PHP 中的 mail() 函数带有奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144886/

相关文章:

javascript - 取消 setTimeout()

php - 是否必须在调用lastInsertId()之前插入一条新记录以获取PDO中最后插入的ID?

php - Laravel Bootstrap 在控制组中并排对齐两个元素

javascript - 添加行时自动完成功能不起作用

php - 获取mysql中的下一条和上一条记录

javascript - -webkit-background-size 不适用于 jQuery Css

javascript - 我如何以编程方式执行此操作?

javascript - 在内联事件处理程序中引用 `this`

javascript - 在jQuery中拖动后防止点击事件

javascript - 后台函数javascript