راه های تماس :
1 ابتدا با شناسه کاربری خود وارد سایت شوید
2 روی کلید سبز رنگ بالای سایت کلیک کنید
3منوی ارسال پست جدیدرا کلیک کنید .
  • ساعات مجاز برای تماس : 10 تا 16
  • روزهای کاری : شنبه تا 4شنبه
  • ایمیل : data(@)rastchin.com
 
اگر مشکل شما همچنان برقرار است یا سوالات دیگری دارید می توانید با شماره تماس 09125160996 تماس بگیرید
 

راستچین کردن ایمیل های جوملا، کامپوننت ها و افزونه ها

اگر وب سایت فارسی دارید که با جوملا طراحی شده و از آن برای کاربران ایمیل ارسال می شود، حتما دیده اید که ایمیل ها بصورت چپ چین ارسال می شوند حتی اگر متن ایمیل پارسی باشد. حال اگر محتوای ایمیل شامل عبارات فارسی و انگلیسی باشد متن ایمیل بهم می ریزد. امیدواریم در نسخه های جدید تر جوملا این مشکل که راه حل بسیار ساده ای نیز دارد حل شود! بهر رو در این مقاله با ارائه یک راه حل کوتاه و سریع کلیه ایمیل هایی که از جوملا ارسال می شوند را راستچین می کنیم.

در نظر داشته باشید، لازم نیست برای هر کامپوننتی که نصب می کنید مانند :

  • AcyMailing
  • Breezing Forms
  • DJ-Classifieds
  • Easy Discussion
  • Jcomments
  • Komento

و... اقدام به یافتن فایل ارسال کننده ایمیل و راستچین کردن آن بکنید. این کار وقت گیر است زیرا بایستی از میان صدها فایل، فایل تنظیمات ایمیل کامپوننت را بیابید. اگر کامپوننت شما استاندارد طراحی شده باشد، برای ارسال ایمیل نهایی، از کلاس جوملا یعنی JMail استفاده خواهد کرد. پس کافیست مراحل زیر را طی کنید :

1 فایل مسیر libraries\joomla\mail\mail.php  را باز کنید

2 حدود خط 264 در تابع setBody مقدار زیر را بیابید :

$this->Body = JMailHelper::cleanText($content);

 

3 در خط بعد از دستور بالا، کل عبارت زیر را وارد کنید :

// FORCE rtl
$this->Body='<div style="direction:rtl;text-align:right;font-family:b nazanin,b mitra,mitra,nazanin">'.$this->Body.'</div>' ;
//$this->Body=str_replace("\n", "<br>", $this->Body);
//END OF hack :: FORCE rtl

 همانطور که مشاهده می شود در خط اول کل متن ایمیل را راستچین و فونت نازنین به آن اضافه کردیم.در خط بعد هم کلیه کاراکترهای \n را که مربوط به ایجاد یک خط جدید است (برای حالت غیر html) به تگ br تبدیل کردیم. اگر در "ایمیل دریافتی شما" فاصله خط ها زیاد بود می توانید خط سوم کد بالا را حذف فرمایید.

4 در حوالی خط 650 و بعد از دستور $this->isSMTP() کدهای زیر را وارد کنید.به کمک دستور زیر جوملا را مجبور به ارسال ایمیل html می کنیم

//mosi hack :: force emails to html
$this->IsHTML(true);
//End of hack

 

5 در حوالی خط 685 تابع sendMail وجود دارد که باید در ابتدای آن کدهای زیر را وارد کنید.به کمک دستور زیر جوملا را مجبور به ارسال ایمیل html می کنیم

//mosi hack :: force HTML
$mode = true;
/*end of hack */

 

 

در تصاویر بالا محل قرار گیری کد و نتیجه قابل مشاهده است. و ازین پس برای هر وب سایت که با جوملا طراحی می کنید کافیست فایل جدید mail.php را جایگزین فایل اصلی کنید. در نظر داشته باشید ممکن است در بروزرسانی های جوملا مجدد این فایل با نسخه اصلی جایگزین شود و شما باید مجدد این تغییر را دستی انجام دهید.

orange در جوملا 3.8 مسیر فایل مورد نظر به libraries\src\Mail تغییر کرده. همچنین شماره خطوط قدری افزایش یافته است.

orange اگر نمی خواهید مراحل بالا را طی کنید، می توانید از فایل های  بروز شده زیر استفاده کنید :

دانلود فایل تغییر یافته mail.php برای جوملا 3.7 و پایین تر

دانلود فایل تغییر یافته mail.php برای جوملا 3.8

دانلود فایل تغییر یافته mail.php برای جوملا 2.5

افراد شرکت کننده در این گفتگو

نظرات (3)

0 از 5 براساس 0 رای
هنوز نظری ارسال نشده است
  1. cible

چطور در acymailing از یک قالب اختصاصی استفاده کنیم و فونت فارسی خاصی در آن بگذاریم که در زمان ارسال بهم نریزد

  پیوست
 
  1. رضا علایی    cible

اگر به بخش templates در منوی newsletters بروید و یکی از قالب ها را ویرایش کنید، خواهید دید که در تنظیمات بخشی تحت عنوان Stylesheet وجود دارد. کافیست در این بخش کد فراخوانی فونت مورد نظر را وارد کنید: http://s9.picofile.com/file/8289178442/acymailing.png
فقط توجه کنید آدرس فراخوانی فونت را بصورت کامل (همراه با نام دامنه سایت) وارد کنید و نه نسبی.
راه دیگر که رایج است استفاده از عکس برای خبرنامه بجای متن است.

  پیوست
  نظر 7 ماه پیش توسط رضا علایی ویرایش شده رضا علایی
  1. سهراب

بسیار عالی بود. سپاس

  پیوست
 

بهتر است نام و نظر خود را فارسی تایپ کنید ( برای انتشار سریع نظر یا افزودن فایل پیوست، باید وارد حساب کاربری خود شوید )
0 کاراکتر
پیوست (0 / 2)
انتشار موقعیت
بالا