相关代码:
msg = "Subject: Reset password instructions\n\nHello " + @request_payload["email"] + "!\n\n" +
"A new account has been created for you at <a href=\"presentation-layer.dev\">presentation-layer.dev<a>." +
"Please go to that page and click \"forgot password\" to set your password."
smtp = Net::SMTP.new 'smtp.gmail.com', 587
smtp.enable_starttls
smtp.start('domain', "email", 'password', :login) do
smtp.send_message(msg, 'sender', "recip")
end
Run Code Online (Sandbox Code Playgroud)
生成的电子邮件中只包含原始文本.如何让服务器评估HTML标记?
要执行您想要的操作,您应该生成MIME文档.如果您确实想要这样做,请创建一个多部分MIME文档,以便同时拥有TEXT和富文本部分.
您可以从Net :: SMTP执行此操作,但必须将必要的MIME标头和部件分隔符添加到文档中.有关示例,请参阅" 使用Ruby发送电子邮件 - SMTP ".
使用Mail gem 更容易,它支持两者,特别是如果你包括多个部分或添加附件.从文档:
您还可以创建MIME电子邮件.有一些辅助方法可以为text/plain和text/html(最常见的一对)制作多部分/备用电子邮件,您可以手动创建任何其他类型的MIME电子邮件.
在" 编写和发送多部分/替代(html和文本)电子邮件 " 文档中更进一步:
邮件做了一些基本的假设,并尽可能简单地做了常见的事情....(从邮件库中询问很多)
mail = Mail.deliver do
to 'nicolas@test.lindsaar.net.au'
from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>'
subject 'First multipart email sent with Mail'
text_part do
body 'This is plain text'
end
html_part do
content_type 'text/html; charset=UTF-8'
body '<h1>This is HTML</h1>'
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3460 次 |
| 最近记录: |