使用Ruby发送电子邮件

Ruby发送电子邮件

在邮件服务器之间发送电子邮件和路由电子邮件由通常称为SMTP的简单邮件传输协议处理。Net :: SMTP类是Ruby库中的预定义类,它是为简单邮件传输协议特意定义的。

Net :: SMTP有两种方法,即new和start。参数说明如下:

new:

它使用两个参数,第一个是默认为“ localhost”的服务器,默认为25的端口号。

start:

它使用六个参数,即服务器,端口,域,帐户,密码和身份验证类型。服务器的默认值为localhost,端口为25,域为ENV [“ HOSTNAME”],帐户和密码为nil,认证类型为cram_md5。

sendmail是SMTP对象的一种方法,它采用三个参数,即源,发件人和收件人。

现在,让我们了解一种使用Ruby代码发送电子邮件的非常简单的方法。请参考以下示例

require 'net/smtp'

message = <<MESSAGE_END
From: Nhooo <[email protected]>
To: Hrithik sinha <[email protected]>
Subject: Urgent Information

Hello there, Greeting from Nhooo.
We hope, you are doing good. Have a great day.
Read articles at Includhelp for best programming guidance.
MESSAGE_END

Net::SMTP.start('localhost') do |smtp|
  smtp.send_message message, '[email protected]', '[email protected]'
end

上面给出的代码是使用Ruby发送电子邮件的非常基本的方法。我们已经集成了非常简单的电子邮件。需要正确处理标题格式。我们都知道,电子邮件需要三项内容,即“发件人”,“收件人”和“主题”,这三项内容与电子邮件正文在空白行的帮助下应该相同。

为了发送电子邮件,我们应该使用Net :: SMTP类,该类允许我们与计算机上的SMTP服务器连接,然后使用send_message方法,并将指定的消息,发送者的地址和接收者的地址作为参数。

如果要使用Ruby脚本发送HTML文件,即使在文档中包含HTML标记后,该文件也将被视为普通文档。Net :: SMTP类为您提供了通过电子邮件发送HTML消息的功能。例如,请参考以下代码。

require 'net/smtp'

message = <<MESSAGE_END
From: Hrihik Sinha <[email protected]>
To: Saksham Sharma <[email protected]>
MIME-Version: 1.0
Content-type: text/html
Subject: An exemplary email

嘿哥们儿,

这是一个例子。阅读Nhooo.com上的文章,以更好地理解概念。

<h1>Write heading here</h1>
<p>This is a paragraph</p>
<hr>
MESSAGE_END

Net::SMTP.start('localhost') do |smtp|
   smtp.send_message message, '[email protected]', '[email protected]'
end

如果要使用Ruby脚本通过电子邮件发送HTML文本,则应指定Mime版本,内容类型和字符集。