如何发送没有HTML格式的电子邮件发送

时间:2015-11-09 09:57:47

标签: html ruby-on-rails actionmailer

我使用邮件程序在rails中发送电子邮件。它发送成功。但它发送的方式不正确。它正在发送像这样的html标签

Sent mail to xxx (3.6ms)
Date: Mon, 09 Nov 2015 14:53:15 +0500
From: from@example.com
To: xxx
Message-ID: <56406d0b15b8e_6f03f8d3408607861097@des-0071.mail>
Subject: Password Reset
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit

<html>
<body>
<p>Hello </p>

<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p><a href="/api/password_edit.LnWq8Y018rU0MGGZpDfHjA">Change my password</a></p>

<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>

</body>
</html>

文件是password_reset.html.erb

2 个答案:

答案 0 :(得分:0)

在rails控制台中,您可以实际看到html标记。但在真实的电子邮件中,您无法看到这些HTML标记。尝试不使用控制台运行,但实际上运行如何调用它。使用mailcatcher gem查看电子邮件的真实结果。

简而言之,您可以像这样安装和运行:

  1. gem install mailcatcher
  2. mailcatcher投放到您的bash。
  3. 转到浏览器:http://localhost:1080/
  4. 然后你可以看到这样的image

答案 1 :(得分:0)

电子邮件客户端将在用户收到电子邮件后呈现这些标记,您将看不到任何标记。电子邮件模板非常类似于Rails中的View。如果您在<html></html>之间取走所有内容并将其保存在文件中并在浏览器中打开,那么该用户的电子邮件就是这样。

您还希望在电子邮件链接中发送绝对路径,这是您现在拥有的相对链接,如果用户在您的网站外点击它(从电子邮件客户端),它将无效。