在邮件服务器之间发送电子邮件和路由电子邮件由通常称为SMTP的简单邮件传输协议处理。Net :: SMTP类是Ruby库中的预定义类,它是为简单邮件传输协议特意定义的。
Net :: SMTP有两种方法,即new和start。参数说明如下:
它使用两个参数,第一个是默认为“ localhost”的服务器,默认为25的端口号。
它使用六个参数,即服务器,端口,域,帐户,密码和身份验证类型。服务器的默认值为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版本,内容类型和字符集。