كيف يمكنني إنشاء بريد إلكتروني مع المغلق والصور من القضبان؟
-
19-08-2019 - |
سؤال
وكيف يمكنك إنشاء وإرسال رسائل البريد الإلكتروني من تطبيق القضبان، التي تحتوي على الصور والأشكال الجمالية؟ مثل تلك التي تحصل عليها من الفيسبوك ومثل.
المحلول
وعلى افتراض انك تعرف كيفية إرسال رسائل البريد الإلكتروني العادية سهل النص من القضبان باستخدام ActionMailer، للحصول على رسائل البريد الإلكتروني HTML
العمل تحتاج إلى تعيين نوع محتوى البريد الإلكتروني الخاص بك.
وعلى سبيل المثال، notifer الخاص بك قد تبدو مثل هذا:
class MyMailer < ActionMailer::Base
def signup_notification(recipient)
recipients recipient.email_address_with_name
subject "New account information"
from "system@example.com"
body :user => recipient
content_type "text/html"
end
end
لاحظ خط content_type "text/html"
. هذا يقول ActionMailer لإرسال البريد الإلكتروني مع نوع المحتوى من text/html
بدلا من text/plain
الافتراضية.
والقادم لديك لجعل حياتك الارسال الناتج جهات النظر HTML
. على سبيل المثال، وجهة نظركم ملف app/views/my_mailer/signup_notification.html.erb
قد تبدو كما يلي:
<!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>
وكما ترون وجهة نظر HTML
يمكن أن تتضمن علامة <style>
لتحديد الأنماط الأساسية. لا يتم اعتماد جميع HTML
وCSS
، وخاصة في جميع عملاء البريد، ولكن يجب أن يكون بالتأكيد تحكم التنسيق كافية على أنماط النص.
وتضمين الصور هو تريكير الشيء إذا كنت تخطط لعرض رسائل البريد الإلكتروني المرفق. إذا كنت ببساطة بما في ذلك رسائل البريد الإلكتروني من مواقع خارجية، يمكنك استخدام علامة <img />
كما تفعل عادة في HTML
. ومع ذلك، فإن العديد من عملاء البريد منع هذه الصور من الظهور حتى يخول المستخدم ذلك. إذا كنت بحاجة إلى عرض الصور المرفقة، القضبان المكونات في المضمنة المرفقات قد يكون من المفيد إلقاء نظرة .
لمزيد من المعلومات عن القضبان بريدية للدعم، و ActionMailer الوثائق هو عظيم الموارد
نصائح أخرى
لالصور يمكنك فقط استخدام المساعد image_tag
الطبيعي بعد أن كنت قد حددت ActionMailer::Base.asset_host = 'http://www.your-domain.com'
ويمكنني استخدام مشبك الورق لتخزين الصور بلدي حتى في حالتي أنا يمكن إضافة صورة إلى البريد الإلكتروني باستخدام هذا.
image_tag result.photo.url(:small)
كيفية إنشاء رسائل البريد الإلكتروني HTML كبيرة مع CSS ، انها بداية جيدة. ويتعين على جميع رسائل البريد الإلكتروني لمتابعة HTML 3.0!