使用Ruby發送電子郵件,無論是自動生成的還是人工輸入的都可以。首先你需要把郵件的信息轉換成一個單一的數組,包含了郵件的內容和附件等信息。需要引用這幾個類庫如RubyMail、Tmail、ActionMailer。因為ActionMailer依賴rails,所以用它來寫。
示例代碼如下
- require 'rubygems'
- require 'action_mailer'
- class SimpleMailer <ActionMailer::Base
- def Simple_message(recipient)
- from '[email protected]'
- recipients recipient
- subject '標題使用RUBY發送的第一封郵件'
- body '這是郵件的正文'
- end
- end
ActionMailer 有兩個自己定義的方法,一個是創建郵件 SimpleMailer.create_simple_message,另一個是發送郵件是SimpleMailer.deliver_simple_message
示例代碼如下
- puts SimpleMailer.create_simple_message('[email protected]')
- #發送人的郵箱 [email protected]
- #發送的目標油箱 [email protected]
然後設定發送郵箱的SMTP服務,最後發送do郵件
示例代碼如下
- ActionMailer::Base.server_settings ={:address =>'localhost',
- :port =>25,
- :domain =>'sohu.com'}
- SimpleMailer.deliver_simple_message('[email protected]')
如果你的SMTP是ISP的,也就是說包含用戶名和密碼的話
示例代碼如下
- ActionMailer::Base.server_settings ={:address =>'localhost',
- :port =>25,
- :domain =>'sohu.com',
- :user_name =>'[email protected]',
- :password =>'password',
- :authentication => :login}
- SimpleMailer.deliver_simple_message('[email protected]')