您需要先生成郵件程序。
rails g mailer example_mailer
app/mailers/example_mailer.rb該文件將由該行生成。
然後,您需要在郵件程序中創建一個方法,您可以在其中定義發送郵件的人。你可以給直接的電子郵件ID,或者你可以從數據庫中獲取。正如我在給出的例子中,你需要將用戶傳遞給這個方法,它會發送電子郵件給該用戶的電子郵件。
def sample_email(user)
@user = user
mail(to: @user.email, subject: 'Sample Email')
end
創建您的郵件會如何看
應用程序/視圖/ example_mailer/sample_email.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Hi <%= @user.name %></h1>
<p>
Sample mail sent using smtp.
</p>
</body>
</html>
然後,你需要配置SMTP一個HTML模板在/config/environments/production.rb或/config/environments/development.rb中,無論您使用何種環境。
config.action_mailer.delivery_method = :smtp
# SMTP settings for gmail
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => '[email protected]',
:password => 'Gmail password',
:authentication => "plain",
:enable_starttls_auto => true
}
然後你需要觸發你的郵件動作從你發送郵件的任何方法。
ExampleMailer.sample_email(@user).deliver
有關如何設置電子郵件的Rails指南非常清楚調用程序的綁定與電子郵件無關。顯示1. Mailer應該採取什麼行動(有時這是在模型中,有時在控制器中)向我們展示控制器和模型,以便捕獲訪問者信息的位置。是否填充:users表?首先發布這些信息和確切的錯誤信息,然後你會從我或其他人那裏得到幫助。 –
好吧,先生,謝謝,我會 – aspiring