加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解析Ruby中“from”和“to”字段的电子邮件地址

发布时间:2020-12-16 23:35:08 所属栏目:百科 来源:网络整理
导读:在电子邮件中,看起来“from”或“to”字段可以包含一个或多个地址,每个地址可以是“john@test.com”或“John D Jr john@test.comu0026gt;” 因此,“from”字段可能看起来像以下任何一种: "a@a.com""a@a.com,Bob Blue b@b.com""Abe Allen a@a.com,b@b.com""
在电子邮件中,看起来“from”或“to”字段可以包含一个或多个地址,每个地址可以是“john@test.com”或“John D Jr< john@test.comu0026gt;” 因此,“from”字段可能看起来像以下任何一种:
"a@a.com"

"a@a.com,Bob Blue <b@b.com>"

"Abe Allen <a@a.com>,b@b.com"

"Abe Allen <a@a.com>,Bob Blue <b@b.com>,c@c.com"

等等.

我想解析这些字段,提取每个地址的电子邮件(如果有效),以及名称是否存在.由于我不熟悉电子邮件标准,我可能会遗漏一些地址字段的情况.是否有可以执行此操作的Ruby库?

解决方法

是的,这是一个宝石;它被称为 mail.
require 'mail'

addresses = []
raw_addresses = Mail::AddressList.new("Abe Allen <a@a.com>,c@c.com")

raw_addresses.addresses.each do |a|  
  address = {}

  address[:address] = a.address
  address[:name]    = a.display_name if a.display_name.present?

  addresses << address      
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读