📜  使用Ruby发送电子邮件-SMTP(1)

📅  最后修改于: 2023-12-03 14:49:51.302000             🧑  作者: Mango

使用Ruby发送电子邮件-SMTP

Ruby提供了一个内置的库Net::SMTP来发送电子邮件,下面将详细介绍如何使用Ruby发送电子邮件-SMTP。

前置条件

首先需要安装Ruby和Net::SMTP库。

# 安装Ruby
sudo apt-get install ruby

# 安装Net::SMTP库
gem install mail
发送电子邮件
连接SMTP服务器
require 'net/smtp'

smtp_server = 'smtp.example.com'
smtp_port   = 587
smtp_domain = 'example.com'
smtp_user   = 'user@example.com'
smtp_pass   = 'password'

smtp = Net::SMTP.new(smtp_server, smtp_port)
smtp.enable_starttls
smtp.start(smtp_domain, smtp_user, smtp_pass, :login)
构建邮件对象
require 'mail'

mail = Mail.new do
  from     'user1@example.com'
  to       'user2@example.com'
  subject  'Hello from Ruby!'
  body     'This is a test email from Ruby.'
end
发送邮件
smtp.send_message(mail.to_s, mail.from, mail.to)
关闭SMTP连接
smtp.finish
完整代码
require 'net/smtp'
require 'mail'

smtp_server = 'smtp.example.com'
smtp_port   = 587
smtp_domain = 'example.com'
smtp_user   = 'user@example.com'
smtp_pass   = 'password'

smtp = Net::SMTP.new(smtp_server, smtp_port)
smtp.enable_starttls
smtp.start(smtp_domain, smtp_user, smtp_pass, :login)

mail = Mail.new do
  from     'user1@example.com'
  to       'user2@example.com'
  subject  'Hello from Ruby!'
  body     'This is a test email from Ruby.'
end

smtp.send_message(mail.to_s, mail.from, mail.to)

smtp.finish

以上便是使用Ruby发送电子邮件-SMTP的介绍,希望能对程序员有所帮助。