繁体   English   中英

当给定具有特殊字符的电子邮件地址时,Ruby on Rails中的ActionMailer会中断

[英]ActionMailer in Ruby on Rails breaks when given an email address that has special characters

我正在使用ActionMailer发送电子邮件,当给定一个正常的电子邮件地址时它可以工作,这是我的代码段

logger = Logger.new('logfile.log')
logger.info(@user.email)
mail(
  charset: "UTF-8",
  to: @user.email,
  from: @from,
  subject: @subject
)

在日志中,它会显示带有特殊字符的电子邮件地址。 但是然后我进入开发日志,并在邮件对象中看到此内容,其他所有内容都正确

To: =?UTF-8?B?w7FAw7EuY29tPg==?=

我试图将其包装在引号中,并使用其他格式,例如:

("\\"#{@user.name}\\" <#{@user.email}>")

转换为:

"name name" <test_ñ@yahoo.com>

这些也没有运气,我只会得到类似的胡言乱语

=?UTF-8?Q?=22name_name=22_<test=5F=C3=B1@yahoo.com>?=

还尝试使用"test_ñ"@yahoo.com

相同的结果:

=?UTF-8?Q?=22test=5F=C3=B1=22@yahoo.com>?=

我在这里想念什么? 与编码配置有关吗?

那不是胡言乱语。 那就是MIME编码( RFC 2047 )。 一切安好。

您可以将该行粘贴到MIME在线解码器中,并确保将其解码To: my_user@exampl.com (已编辑的电子邮件地址)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM