我目前使用下面的解析電子郵件:的Ruby/Rails解析電子郵件
def parse_emails(emails)
valid_emails, invalid_emails = [], []
unless emails.nil?
emails.split(/, ?/).each do |full_email|
unless full_email.blank?
if full_email.index(/\<.+\>/)
email = full_email.match(/\<.*\>/)[0].gsub(/[\<\>]/, "").strip
else
email = full_email.strip
end
email = email.delete("<").delete(">")
email_address = EmailVeracity::Address.new(email)
if email_address.valid?
valid_emails << email
else
invalid_emails << email
end
end
end
end
return valid_emails, invalid_emails
end
給出一個電子郵件像我遇到的問題:
Bob Smith <[email protected]>
上面的代碼刪除鮑勃史密斯和只有返回鮑勃@史密斯。
但我想要的是FNAME,LNAME,EMAIL的散列。 fname和lname是可選的,但電子郵件不是。
我將使用哪種類型的ruby對象,以及如何在上面的代碼中創建這樣的記錄?
感謝
很好!謝謝 – AnApprentice 2011-03-06 01:13:03
可以通過任何方式擴展此項以消除valid_emails中的重複電子郵件? – AnApprentice 2011-03-06 01:31:32