Wie erstellen und senden Sie E-Mails aus Rails-Anwendungen, die Bilder und korrekte Formatierung enthalten? wie die, die du von Facebook bekommst und magst.Wie erstelle ich E-Mails mit CSS und Bildern von Rails?
Antwort
Angenommen, Sie wissen, wie Sie normale Nur-Text-E-Mails von Rails mit ActionMailer senden, um HTML
E-Mails funktionieren zu lassen, müssen Sie einen Inhaltstyp für Ihre E-Mail festlegen.
Zum Beispiel Ihre notifer könnte wie folgt aussehen:
class MyMailer < ActionMailer::Base
def signup_notification(recipient)
recipients recipient.email_address_with_name
subject "New account information"
from "[email protected]"
body :user => recipient
content_type "text/html"
end
end
Notiere die content_type "text/html"
Linie. Dadurch wird ActionMailer angewiesen, anstelle des Standardwerts text/plain
eine E-Mail mit dem Inhaltstyp text/html
zu senden.
Als nächstes müssen Sie Ihre Mailer-Ansichten Ausgabe HTML
. Zum Beispiel Ihrer Ansicht Datei app/views/my_mailer/signup_notification.html.erb
könnte wie folgt aussehen:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" media="screen">
h3 { color: #f00; }
ul { list-style: none; }
</style>
</head>
<body>
<h3>Your account signup details are below</h3>
<ul>
<li>Name: <%= @user.name %></li>
<li>Login: <%= @user.login %></li>
<li>E-mail: <%= @user.email_address %></li>
</ul>
</body>
</html>
Wie Sie das sehen können HTML
Ansicht, die einen <style>
Tag definieren grundlegende Stile umfassen kann. Nicht alle HTML
und CSS
werden unterstützt, insbesondere über alle E-Mail-Clients hinweg, aber Sie sollten über ausreichende Formatierungssteuerung für Textstile verfügen.
Das Einbetten von Bildern ist ein wenig trickreich, wenn Sie angehängte E-Mails anzeigen möchten. Wenn Sie einfach E-Mails von externen Websites einbinden, können Sie ein <img />
-Tag wie gewohnt in HTML
verwenden. Viele E-Mail-Clients blockieren jedoch die Anzeige dieser Bilder, bis der Benutzer sie autorisiert. Wenn Sie angehängte Bilder anzeigen müssen, ist das Rails-Plug-In Inline Attachments möglicherweise einen Blick wert.
Weitere Informationen über Rails Mailing-Unterstützung, ist die ActionMailer documentation eine große Ressource
Nur ein Hinweis: Google Mail ** ** unterstützt kein externes CSS. Wenn Sie möchten, dass CSS in Google Mail richtig angezeigt wird, müssen Sie Inline-Stile wie '
Sie können die Stile automatisch mit Roadie inline: https://github.com/Mange/roadie –
Das Premailer-Juwel ist auch sehr schön für Inlining die Stile. Es gibt auch ein Juwel namens inline_css, das Premailer verwendet, um es sehr einfach in E-Mail-Vorlagen/Layouts zu verwenden. – scottwb
Lesen Sie How to Create Great HTML Emails with CSS, es ist ein guter Anfang. Alle E-Mails müssen HTML 3.0 folgen!
Für die Bilder können Sie nur die normalen image_tag
Helfer verwenden, nachdem Sie die ActionMailer::Base.asset_host = 'http://www.your-domain.com'
definiert haben
I Büroklammer verwenden, um meine Bilder zu speichern In meinem Fall kann ich damit ein Bild zu einer E-Mail hinzufügen.
image_tag result.photo.url(:small)
Dies ist 'config.action_mailer.asset_host' jetzt – elsurudo
- 1. Wie erstelle ich dynamisches CSS in Rails?
- 2. Wie erstelle ich ein Video von Bildern mit FFmpeg?
- 3. skalieren von Bildern mit carrierwave und rails
- 4. Wie verschicke ich HTML Emails mit Mailgun?
- 5. Wie erstelle ich eine Stundenliste mit HTML und CSS?
- 6. Wie erstelle ich ein System.Drawing.Icon mit mehreren Größen/Bildern?
- 7. Smarty nicht Rendern von Bildern und CSS
- 8. CSS Pullquote mit Bildern
- 9. Wie erstelle ich die Anwendung Edge Rails?
- 10. Wie erstelle ich ein modales Navigationsmenü auf dem Handy und verhindere das Scrollen von Bildern?
- 11. Umleiten von EMails mit Amazon SES-Dienst
- 12. css - Anzeigen von Bildern mit horizontaler Bildlaufleiste
- 13. Wie erstelle ich 'Remove Tag' Links mit Acts_As_Taggable_On in Rails?
- 14. Wie erstelle ich ein Wiki mit Ruby on Rails?
- 15. Wie erstelle ich eine PDF-Datei mit Bildern und Text aus Python?
- 16. Wie erstelle ich Spin-Effekte mit HTML & CSS?
- 17. Wie erstelle ich Schlagschatten in Qt Stylesheet?
- 18. Wie EMails in C# -Anwendung erhalten?
- 19. Wie erstelle ich ein PDF?
- 20. Wie erstelle ich viele Beziehungen mit Scaffold?
- 21. Ich habe css Knoten in Bildern und ul Element
- 22. Kollisionserkennung zwischen mit CSS-Animationen gedrehten Bildern
- 23. Rails Diffy Gem: Wie benutze ich CSS
- 24. Emails über SMTP mit DKIM senden
- 25. Wie erstelle ich ein Video von meinem Desktop mit .NET?
- 26. Wie erstelle ich Navbar Links mit Hintergrundbildern?
- 27. SF2 - Korrekter Ort zum Speichern von CSS und ähnlichen Bildern
- 28. CSS-Layout-Probleme (mit Bildern und Code) in IE
- 29. Abgerundete Ecken für Schaltflächen mit drei Bildern und CSS
- 30. Links zu Bildern in CSS mit Wicket
beantwortet meine Antwort Ihre Frage? –
@bjeanes - Ich habe nicht wirklich die Zeit, dies zu versuchen, da ich mit etwas anderem beschäftigt bin, aber scheint, dass Ihre Lösung auf der richtigen Linie ist. Vielen Dank. Wird versuchen und aktualisieren. – Akshay