ماژول htmlmail و خراب کردن فیلد ارسال کننده ی ایمیل

ماژول htmlmail یکی از ماژول های دروپال است که کمک می کند ایمیل های ارسال شده توسط دروپال، استایل دهی شوند.

به این ترتیب که شما می توانید یک فایل قالب (.tpl.php) ایجاد کنید و ایمیل های ارسالی توسط دروپال (به تفکیک نوع ایمیل) توسط این فایل template قالب دهی شوند.

ماژول htmlmail به ماژول mailsystem به عنوان پیش نیاز، احتیاج دارد.

متاسفانه یک مشکلی که این ماژول ایجاد می کند، این است که آدرس ارسال کننده ی ایمیل را دستکاری می کند و آن را خراب می کند.

قبلا هم دیده بودم که ایمیل های ارسالی از سایت عجیب هستند و به اسپم منتقل می شوند. آدرس فرستنده ی ایمیل چیزی شبیه زیر می شود:

"\"وبنوشت من\" <info@hejazee.com>"@boloordesign.com

در حالی که باید به صورت زیر باشد:

"وبنوشت من" <info@hejazee.com>

ابتدا تصور می کردم که احتمالا این ایرادی در MTA ی مورد استفاده ی من است (sendmail) و به همین خاطر postfix را نصب کردم.

در این جا بد نیست که بگویم متاسفانه پیکربندی کردن یک Mail Server کامل (دست کم برای من) اصلا کار آسانی نبود. کلی تنظیمات داشت که همگی برای من تازگی داشت...
فقط انتخاب سیستم مورد نیاز، برای خودش داستانی است. چون راه اندازی یک میل سرور از چند بخش تشکیل می شود:
MTA که می تواند Sendmail یا Postfix یا Exim یا ... باشد
و سیستمی هم برای دریافت میل لازم است که می تواند Dovecot یا موارد دیگر باشد ...

بعد از ساعاتی که صرف Debug و اشکال زدایی سیستم کردم، به این نتیجه رسیدم که ایراد در ماژول htmlmail و یا mailsystem است.

این ماژول، ابتدا تمامی " ها را Escape می کند (قبل آن ها \ قرار می دهد) سپس کل عبارت را در Double Quotation قرار می دهد و سپس به آخر آن @ اضافه می کند و نام سرور Hostname را به آن اضافه می کند!!

دقیقا نمی دانم که چرا این کار را انجام می دهد، ولی می تواند یک موضوع برای تحقیق باشد.

دیدگاه‌ها

برای ارسال ایمیل به صورت HTML ،

اول باید ماژول MailSystem و autoload را نصب کنید و همچنین ماژول htmlmail را نیز نصب کنید.

سپس در تنظیمات ماژول MailSystem باید تنظیم کنید که همه ی ایمیل ها از طریق htmlmail ارسال شوند.

سپس باید به تنظیمات ماژول htmlmail بروید و یک پوسته را برای ایمیل تان انتخاب کنید. پوسته ای که انتخاب می کنید باید دارای یک فایل htmlmail.tpl.php باشد تا ایمیل ها توسط آن قابل بندی شوند.

البته ممکن است بخواهید که برای ایمیل های مختلف، قابل های مختلفی را انتخاب کنید. مثلا برای ایمل های مربوط به کاربر (مثل ایمیل فعال سازی حساب کاربری و ایمیل فراموشی پسورد و ...) یک قالب خاص داشته باشید. ولی ممکن است برای ایمیل های خبرنامه، قابل دیگری را بخواهید استفاده کنید.

راهنمای گام به گام همه ی این مسائل در فایل README موجود می باشد.

همچنین لازم دارید که در تنظیمات ماژول htmlmail یک Input filter را انتخاب کنید تا متن ایمیل ها قبل از ارسال توسط آن مورد ارزیابی و فیلتر قرار بگیرد.

مجددا تاکید می کنم که حتما فایل README موجود در ماژول htmlmail را مطالعه بفرمایید زیرا شامل توضیحات کاملی است.

افزودن دیدگاه جدید