PHPMailer字符编码问题

2023-12-01

我尝试使用PHPMailer发送注册、激活。等邮件给用户:

require("class.phpmailer.php");
$mail -> charSet = "UTF-8";
$mail = new PHPMailer();
$mail->IsSMTP();  
$mail->Host     = "smtp.mydomain.org";  
$mail->From     = "[email protected]";
$mail->SMTPAuth = true; 
$mail->Username ="username"; 
$mail->Password="passw"; 
//$mail->FromName = $header;
$mail->FromName = mb_convert_encoding($header, "UTF-8", "auto");
$mail->AddAddress($emladd);
$mail->AddAddress("[email protected]");
$mail->AddBCC('[email protected]', 'firstadd');
$mail->Subject  = $sub;
$mail->Body = $message;
$mail->WordWrap = 50;  
if(!$mail->Send()) {  
   echo 'Message was not sent.';  
   echo 'Mailer error: ' . $mail->ErrorInfo;  
}

The $message包含拉丁字符。不幸的是,所有网络邮件(gmail、webmail.mydomain.org、emailaddress.domain.xx)都使用不同的编码。

如何强制使用 UTF-8 编码在所有邮箱上以完全相同的方式显示我的邮件?

我尝试转换邮件标题宽度mb_convert_encoding(),但没有运气。


如果您 100% 确定 $message 包含 ISO-8859-1 您可以使用utf8_编码正如大卫所说。否则使用mb_检测_编码 and mb_convert_encoding在 $ 消息上。

另请注意

$mail -> charSet = "UTF-8"; 

应替换为:

$mail->CharSet = "UTF-8";

And placed after类的实例化(之后new)。属性区分大小写!请参阅PHPMailer 文档获取列表和准确的拼写。

PHPMailer的默认编码也是8bit这对于 UTF-8 数据可能会出现问题。要解决此问题,您可以执行以下操作:

$mail->Encoding = 'base64';

请注意'quoted-printable'在这些情况下可能也会起作用(甚至可能'binary')。欲了解更多详细信息,您可以阅读RFC1341 - 内容传输编码标头字段.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHPMailer字符编码问题 的相关文章

随机推荐

  • IE 6/7 访问被拒绝尝试访问弹出窗口.document

    我正在使用 window open 创建一个没有 URL 源的弹出窗口 我没有给它一个 URL 因为很快我就会想向它发布一个表单 然而 与此同时 我想显示一条简短的 正在加载 消息 这样用户在表单发布完成的 2 3 秒内就不会看到空白页面
  • FFmpeg 将图像序列转换为视频会导致空白视频[关闭]

    Closed 这个问题是无关 目前不接受答案 我有一系列 361 png 文件 我正在尝试将其转换为视频 但无论出于何种原因 生成的视频都是黑色的 这是我正在使用的 FFmpeg 代码 ffmpeg f image2 i FeatureTo
  • Postgres LIKE '...%' 不使用索引

    我有一个表 我想在其中通过主键的前缀进行搜索 主键的值如下03 000221 1 03 000221 2 03 000221 3等等 我想检索所有以03 000221 我的第一个想法是过滤LIKE 03 000221 认为 Postgres
  • 减少非空开关案例声纳棉绒问题的数量

    我的开关盒内有大约 100 个非空盒子 每种情况调用不同的函数 Sonar 正在显示将非空开关案例数量减少到最多 30 个的问题 是否有任何替代方案来实现此类开关案例 或者拥有任意数量的开关案例都没有问题 for int i 0 i
  • 下游 Jenkins 项目上游运行参数错误

    我在 Jenkins 构建管道方面遇到问题 第一个作业之后的所有作业均使用第一个作业的 运行参数 进行参数化 默认情况下 这应该引用第一个作业的最新稳定版本 每个后续作业都使用第一个作业的 运行参数 来访问第一个作业中保存的工件 每个后续作
  • 动态更改对讲语言?

    我有一个带有翻译测验的应用程序 我想让盲人也可以使用它 问题是 当我专注于西班牙语句子 例如 时 Talkback 会用英语读出它 有没有办法在Java中动态触发西班牙语TTS 谢谢 是的 现在有 你必须把字符串包裹在一个LocaleSpa
  • Maven 原型中的公爵年龄在哪里?每第一杯 JEE7

    我正在关注EJB 的 JEE7 第一杯方向 在基于原型创建应用程序之前 您必须 首先将原型和支持项目安装到本地 Maven 存储库 In NetBeans IDE select File then Open Project navigate
  • 如何将 Visual Foxpro dbfs 与 MySQL 同步?

    我正在尝试将遗留应用程序 将数据存储在 VisualFoxpro dbfs 中 同步到 MySQL 或 SqlServer 2005 这将使我们能够在线查看某些信息 我每天至少需要两次同步 我怎样才能做到这一点 我不知道有任何现成的软件可以
  • 了解task_basic_info任务resident_size

    简短的问题 某人 引 5 告诉我驻留内存可以被我的系统回收 这是什么意思 这是否意味着我的应用程序没有使用该内存 或者驻留内存值是否与我的应用程序当前使用的内存直接相关 除了这些之外 我还没有找到太多关于此的文档answers 我正在尝试解
  • Javascript弹出窗口焦点问题

    我想创建一个 弹出窗口 每次单击按钮时都会获得焦点 下面的函数可以很好地执行onclick事件 但当父页面刷新并从 onload 事件执行时 不会按预期执行 这是我的功能 function PopupDelete delete images
  • 快速 numpy 滚动_产品

    我需要一个rolling product函数 或者一个expanding product函数 有各种pandas rolling XXXX and expanding XXXX功能 但我惊讶地发现没有expanding product 功能
  • 抽象类和 PyMongo;无法实例化抽象类

    我创建了空的抽象类AbstractStorage并继承了Storage来自它的类 import abc import pymongo as mongo host mongo MongoClient print host alive True
  • Android - 使用服务在浮动窗口上播放 YouTube Api 播放器

    我喜欢在 Android 上将 YouTube 播放器实现为浮动窗口 位于所有应用程序之上 我看到很多应用程序都具有相同的功能像这个 我尝试了解如何实施它 我试过这个 wm WindowManager getSystemService Co
  • 如何在单选按钮中添加jquery验证红框效果

    如果 jQuery 验证像示例图片中那样激活 我想制作一个红色阴影框 红色边框 有人可以帮我解决这个问题吗 我的代码如下所示 document ready function var month day year for var i 1 i
  • 消除 ggplot y 轴和第一个 x 值之间的间隙

    我需要消除 x 轴上 1950 年之前的间隙 我尝试过使用scale x continuous但这会导致 Error Discrete value supplied to continuous scale 我相信这一定与数据的日期格式有关
  • 单击时确定句子的字符

    在一次随机休息时 我发现自己想知道是否可以使用 jQuery 来确定单击句子中的单个字符 例如 This 当用户第一次点击h jQuery 会将其返回给我 我能想到的唯一方法是将句子中的每个字符用其字母的类别包装在一个跨度中 如下例所示 s
  • Neo4J Cypher - 匹配节点的关系计数

    我正在开发一个小项目 我必须在 Twitter 等用户之间保持关注 我正在尝试进行一个查询 返回某个节点的追随者 我们将其称为 X 节点 因此 查询返回 X 的关注者以及 X 的关注者的关注者计数 以及 X 的关注者关注的节点数 包括该计数
  • 如何使用 HTML/CSS/JavaScript 开发桌面应用程序? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 首先 我对专业地做这件事不感兴趣 我是一名 Web 开发人员 我的一位同事最近离开 Spotify 并表示他将主要从事 Spotify 桌面应用程序的 JavaScript 工作
  • Ansible 命令模块显示“|”是非法字符

    我正在使用 Ansible 部署我的项目 并尝试检查是否安装了指定的包 但我的任务有问题 以下是任务 name Check if python apt is installed command dpkg l grep python apt
  • PHPMailer字符编码问题

    我尝试使用PHPMailer发送注册 激活 等邮件给用户 require class phpmailer php mail gt charSet UTF 8 mail new PHPMailer mail gt IsSMTP mail gt