Ich versuche, ein einfaches Blog zu erstellen (mit Schienen 5) und E-Mail-Updates senden möchten, wenn ich neue Benutzer poste. Ich versuche Actionmailer zu verwenden und benutze Devise, um Benutzer zu registrieren. Ich versuche es zunächst nur mit dem ersten Benutzer einzurichten.Aktion Mailer nicht senden/Empfangen von E-Mail-Schienen 5
Wenn ich auf meinen lokalen Server schaue, scheint die E-Mail zu senden, aber sie wird nicht empfangen. Jeder Rat wäre sehr willkommen, ich bin eine Weile stecken geblieben.
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
Meine Beiträge Controller sieht wie folgt aus:
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
Mein Mailer sieht wie folgt aus:
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
und in meinem development.rb Ich habe diese Einstellungen:
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"
}
Versuchen Sie, diese Funktion zu ändern auf auf Ihrem Google-Konto (nicht sicher, ob es hilft): https://www.google. com/settings/security/lesssecureapps – Deep
Ich habe es endlich funktioniert, es war mit Google 2-Schritt-Überprüfung zu tun. Stellen Sie sicher, dass es ausgeschaltet ist! –