如何在邮件消息中添加额外字段?手机号字段未显示问题求助
搞定邮件添加手机号字段不显示的问题
嘿,我来帮你解决这个困扰!从你贴的代码来看,你尝试用->setBody2($sender_mobile)来加手机号,但这个方法大概率不是你用的邮件库(比如SwiftMailer、PHPMailer这类)的内置方法,所以邮件系统根本不认识它,自然就不会显示啦。下面给你两种实用的解决思路:
一、直接把手机号整合到邮件正文里
这是最直观的办法,把手机号加到你的邮件正文内容里就行,收件人一眼就能看到:
// 把手机号拼到邮件正文末尾,格式你可以自己调整 $sender_msg .= "\n\n发送者手机号:" . $sender_mobile; // 然后正常调用setBody就好,不用额外的setBody2 ->setFrom(array($sender_email => $site_name)) ->setTo($listing_owner_email) ->setBody($sender_msg) ->setReplyTo($sender_email) ->setReturnPath($admin_email)
二、添加自定义邮件头(作为后台元数据)
如果你不想把手机号放在正文里,只是想作为邮件的额外信息存着(比如后台统计用),可以加个自定义的邮件头字段。举个SwiftMailer的例子(其他库类似,比如PHPMailer用addCustomHeader):
->setFrom(array($sender_email => $site_name)) ->setTo($listing_owner_email) ->setBody($sender_msg) ->addHeader('X-Sender-Mobile', $sender_mobile) // 自定义头字段,前缀X-是行业惯例 ->setReplyTo($sender_email) ->setReturnPath($admin_email)
这种方式下,手机号不会在邮件正文显示,但你可以通过查看邮件的原始源码看到这个字段,适合不需要收件人看到但需要记录的场景。
额外提醒
如果这个setBody2是你自己封装的方法,那你得在你的邮件类里写对应的逻辑,把这个字段的内容整合到邮件的输出里,不然调用它也不会有任何效果哦!
内容的提问来源于stack exchange,提问作者mkmobi
相关产品推荐
相关产品推荐

