In "11.4 Senden von E-Mails in der Produktionsumgebung" des Rails-Tutorials, als ich versuchte, E-Mails zur Benutzerregistrierung von Heroku zu senden, wurde "Es tut uns leid, aber etwas ist schief gelaufen." Angezeigt.
Wenn ich das Protokoll mit "Heroku-Protokollen" überprüfe, wird das folgende Fehlerprotokoll angezeigt: Da Informationen wie der Inhalt der Mail ausgegeben wurden, scheint es einen Fehler im Übertragungsverarbeitungsteil von SendGrid zu geben.
Net::SMTPFatalError (550 The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements)
Da die Einstellungen derzeit wie im Lernprogramm festgelegt sind, wird "[email protected]" als Absender nicht authentifiziert und die E-Mail kommt nicht von SendGrid an. Ich habe es gegoogelt, aber im Rails-Tutorial konnte ich nichts Ähnliches finden.
Ich habe versucht, den folgenden Befehl von "heroku run rails console" auszuführen, aber der gleiche Fehler wie oben ist aufgetreten und die Mail ist nicht angekommen.
ActionMailer::Base.mail(from: "[email protected]", to: "<E-Mail-Adresse erhalten>", subject: "subject", body: "body").deliver_now
Ich habe mir die im Protokoll angezeigte URL angesehen und nachgeschlagen, aber es scheint notwendig zu sein, den Absender mit SendGrid zu authentifizieren. https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ https://sendgrid.com/docs/ui/sending-email/sender-verification/
"[email protected]" ist jedoch keine von mir selbst erstellte Domain, und ich weiß nicht, wie ich mich mit dieser Adresse authentifizieren soll. Daher habe ich mich dieses Mal entschlossen, eine persönliche Adresse als Absender festzulegen und diese zu senden. ..
Authentifizieren und verwenden Sie die von einer Person verwendete E-Mail-Adresse als sendende E-Mail-Adresse und als Absender mit SendGrid.
Melden Sie sich bei SendGrid an und stellen Sie "Single Sender Verification" ein, indem Sie auf den folgenden Artikel verweisen. https://sendgrid.kke.co.jp/docs/Tutorials/B_Marketing_Mail/marketing_campaigns1.html
Nach der Authentifizierung, als der folgende Befehl ausgeführt wurde, kam eine E-Mail von der sendenden E-Mail-Adresse an die empfangende E-Mail-Adresse.
ActionMailer::Base.mail(from: "<E-Mail-Adresse senden>", to: "<E-Mail-Adresse erhalten>", subject: "subject", body: "body").deliver_now
Wenn daher die Verarbeitung des Mail-Sendebereichs wie folgt geändert wurde und auch der Absender des Testabschnitts geändert wurde, wurde das Problem auf Heroku behoben und der Mail-Versand funktionierte ohne Probleme.
/sample_app/app/mailers/application_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: "<E-Mail-Adresse senden>"
layout 'mailer'
end
Da der eigentliche Webdienst anscheinend die E-Mail-Adresse oder Domain verwendet, die er als Absender besitzt, wurde das Senden per "[email protected]", das er nicht besitzt, verschoben.
Ich habe jedoch nicht verstanden, ob ich an eine Adresse senden soll, die ich nicht besitze, und werde sie daher hinzufügen, wenn ich etwas finde.
Recommended Posts