发送电子邮件
Simple Mail Transfer Protocol(SMTP)是一种协议,用于处理在邮件服务器之间发送电子邮件和路由电子邮件。Ruby为 Simple Mail Transfer Protocol(SMTP)客户端连接提供了Net::SMTP类,并提供了new和start两种类方法。
new有两个参数-
- 服务器名称默认为localhost。
- 默认为端口 25 的端口号。
start方法将这些参数-
- server - SMTP服务器的IP名,默认为localhost。
- port - 端口号,默认为25。
- domain - 邮件发件人的域,默认为ENV[“HOSTNAME”]。
- user - 用户名,默认值是零。
- password - 用户密码,默认为无。
- authType - 授权类型,默认为cram_md5。
SMTP对象具有一个称为sendmail的实例方法,通常将用于执行邮件发送工作。它需要三个参数-
- source - 一个字符串或阵列或用任何每个迭代一次返回一个字符串。
- sender - 将在出现的字符串从电子邮件的领域。
- recipients - 一个字符串或表示收件人的收件人(多个)字符串的数组。
例如:
在这里,您已经使用文档在邮件中放置了基本电子邮件,请注意正确设置标题格式。电子邮件需要发件人,收件人和主题标头,并以空白行与电子邮件正文分开。要发送邮件,请使用Net::SMTP连接到计算机上的SMTP服务器,然后使用send_message方法以及消息,发件人地址和目标地址作为参数(即使from和to地址是在电子邮件本身中,它们并不总是用于路由邮件)。如果您不在计算机上运行SMTP服务器,则可以使用Net :: SMTP与远程SMTP服务器通信。除非您使用Webmail服务(例如Hotmail或Yahoo! Mail),否则您的电子邮件提供商将向您提供可以提供给Net::SMTP的外发邮件服务器详细信息,如下所示-
此行代码使用任何用户名或密码连接到mail.your-domain.com的端口25上的SMTP服务器。但是,如果需要,您可以指定端口号和其他详细信息。例如-
本示例使用纯文本格式的用户名和密码连接到mail.your-domain.com上的SMTP服务器。它将客户端的主机名标识为localhost。