Я пытаюсь создать простой блог (используя рельсы 5) и хочу отправлять обновления по электронной почте, когда пользователям, когда я отправляю что-то новое. Я пытаюсь использовать actionmailer, и я использую программу для регистрации пользователей. Сначала я пытаюсь настроить его только с первого пользователя.Action mailer not send/receive email rails 5
Когда я смотрю на свой локальный сервер, письмо отправляется, но оно не получено. Любые советы были бы очень желанными. Я застрял.
UserNotifierMailer#sample_email: processed outbound mail in 410.4ms
Sent mail to [email protected] (853.2ms)
Date: Wed, 27 Jul 2016 12:05:33 +0100
From: [email protected]
To:[email protected]
Message-ID: <[email protected]me.mail>
Subject: Sample Email
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_5798957d951e2_ae813ff962abfe1466312";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Мой контроллер сообщений выглядит следующим образом:
def create
@user = User.first
@post = current_user.posts.build(post_params)
if @post.save
flash[:success] = "Your post has been created!"
UserNotifierMailer.sample_email(@user).deliver
redirect_to posts_path
else
flash[:alert] = "Your new post couldn't be created! Please check the form."
render :new
end
end
Моя почтовая программа выглядит следующим образом:
class UserNotifierMailer < ApplicationMailer
default from: "[email protected]"
def sample_email(user)
@user = user
@url = 'http://www.google.com'
mail(to: @user.email, subject: 'Sample Email')
end
end
и в моем development.rb у меня есть следующие настройки:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "gmail.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: "my_gmail_username",
password: "my_gmail_password"
}
Попробуйте изменить эту функцию в вашем аккаунте Google (не уверен, если это поможет): https://www.google. com/settings/security/lesssecureapps – Deep
Я, наконец, получил его работу, это было связано с проверкой 2-го шага Google. Убедитесь, что он выключен! –