معرفی
همان طور که میدانید برای ساخت یک ایمیل در قالب HTML ،کدهای CSS باید بصورت inline نوشته شود. CssToInlineStyles این کار را به راحتی برایمان انجام خواهد داد. کافیست تا کد های خود را در یک فایل css بنویسید تا این کتابخانه با استفاده از انتخابگرها، کدها را به تگهای مناسب خود اختصاص دهد.در واقع کار این کتابخانه تبدیل فایل های css به صورت inline میباشد که قادر میسازد که ما بتوانیم در محیط کاربری تحت وب ایمیل هایی در قالب HTML برای کاربران و جامعه ی هدف خود ارسال نماییم.
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
// create instance
$cssToInlineStyles = new CssToInlineStyles();
$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm');
$css = file_get_contents(__DIR__ . '/examples/sumo/style.css');
// output echo $cssToInlineStyles->convert( $html, $css );
نحوه ی ارسال ایمیل با قالب html
حتما برای شما ایمیل هایی با قالب های html,css برای شما ارسال شده است،اماچگونه این ایمیل ها ارسال میشوند و چگونه میتوانیم در پروژه ی خود سیستمی طراحی کنیم که بتوانیم از طرف مدیر سایت ایمیلی با این قالب به کاربران و جامعه ی هدف خود ارسال نماییم؟برای پاسخ به سوالات بالا با ادامه ی این مقاله همراه باشید:
ایمیل هایی که با الگوها و قالب های html برای ما ارسال میشوند به صورتی است که ایمیل یا با نرم افزار خاص و یا به صورت مستقیم از سایت برای شما ارسال میشوند.اکثر نرم افزار های ایمیل مارکتینگ از این قابلیت نیز بهره مند هستند.دقت کنید اگر در ایمیلی که در سایت خود تعریف میکنید به صورت عادی از تگ های غیر استاندارد در ایمیل استفاده کنید در سرویس های دریافت ایمیل گوناگون به شکلی غیر از شکل درخواستی شما به نمایش در خواهد آمد.
همان طور که می دانید اپراتور های ایمیل هر کدام به نحوی که برای سرویس خود تعیین کرده اند کد های HTML و محتوای Email را Render و پردازش میکنند.این امر باعث میگردد که در اپراتور های مختلف برخی از تگ ها و کلاس های css به خوبی نمایش داده نشوند در نتیجه ایمیل شما به خوبی دیده نمیشود.در واقع زیاد به نحوه پردازش CSS ها توسط اپراتور های ایمیل نمیتوان اعتماد کرد و ممکن است Layout شما که توسط تگ های div ویا هر تگی که باCSS به آن Style می دهید چیدمان بهم ریخته یا نادرستی داشته باشد.حال برای این که تمام اپراتور های ایمیل بتوانند ایمیل ارسالی شما را پردازش و نمایش دهند باید از تگ هایی استفاده نمایید که اکثر اپراتورها به عنوان یک قالب استاندارد میتوانند آنرا ترجمه و پردازش کنند. قالب ایمیل و چیدمان و Layout آن می بایست فقط با جدول و تگ های table, td, tr, tbody, tfoot, thead, th و خصوصیات عناصر جداول صورت گیرد برای مثال colspan, rowspan و دیگر خصوصیات که جداول می پذیرند ونباید با استفاده از Div و دیگر تگ های HTML5 این کار را انجام داد.همچنین ترجیحا به جای استفاده از colspan و rowspan از جداول تو در تو استفاده کنید.این کار باعث میشد تا اپراتور های ایمیل به صورت استاندارد بتوانند تگ های شمارا ترجمه و متن ایمیل شمارا چاپ نمایند.
یکی دیگر از اشکالات رایج این است که برخی اپراتور های Email تگهای Style شما را نادیده میگیرند. و آن را از صفحه یا حذف می کنند یا پردازش نمیکنند. برای حل این مشکل باید تمام CSS های موجود در ایمیل را به صورت Inline در بین کدهای HTML بنویسید. اما این کار بسیار طاقت فرساست و وقت گیر . یک راه حل راحت وجود دارد تمام CSSهای خودتان را در تگ Style بنویسید و بعد از اتمام کار و نهایی شدن جهت ارسال فایل HTML ای که ساختید را در سایت http://premailer.dialect.ca آپلود کنید تا این Web Application تمام CSS های شما به صورت Inlineدرآورد.
اگر برنامه نویس php هستید تمام موارد ذکر شده در بالا میتوانید از کتابخانه ی CssToInlineStyles بدست آورید و به وسیله ی این کتابخانه کدهای مربوط به قالب اچ تی ام ال را به راحتی برای اپراتور های ایمیل ترجمه و قابل چاپ نمایید.
کتابخانه ی CssToInlineStyles تگ ها و کلاس های شما را به زبان اپراتور های سرویس دهنده ایمیل ترجمه و ایمیلی که شما در قالب HTML ایجاد و ارسال کردیده اید را در اپراتور ها به خوبی و به صورت استاندارد به نمایش در می آورد.
نصب و راه اندازی کتابخانه ی CssToInlineStyles
برای راه اندازی و نصب این کتابخانه از طریق composer میتوانید از کد زیر استفاده کنید:
composer require tijsverkoyen/css-to-inline-styles
برای دریافت composer میتوانید آنرا از لینک https://getcomposer.org/ دانلود کنید.
برای این که مثالی از این کتابخانه داشته باشید به کد های زیر دقت کنید:
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
// create instance
$cssToInlineStyles = new CssToInlineStyles();
$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm');
$css = file_get_contents(__DIR__ . '/examples/sumo/style.css');
// output
echo $cssToInlineStyles->convert(
$html,
$css
);
در باره ی این کتابخانه اشکالاتی نیز وجود دارد که در زیر لیستی از آنرا برای شما آماده کردیم:
- عدم پشتیبانی از شبه انتخابگرها
- عدم پشتیبانی از css-escapes
- Utf-8 همیشه درست عمل نمیکند.
برای این که این کتابخانه از utf-8 پشتیبانی کامل کند از متاتگ زیر استفاده کنید:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
دقت کنید که کد زیر کار نمیکند:
<meta charset="UTF-8">
برای آشنای با کتابخونه ای دیگه php اینجا کلیک کنید
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید