چطوری در PHP با PHPMailer ایمیل ارسال کنیم؟


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

در این مقاله، در مورد اینکه چرا باید از PHPMailer به جای تابع mail() PHP استفاده کنید، صحبت خواهیم کرد.

یا PHPMailer جایگزینی برای تابع mail() PHP است؟

در بیشتر موارد، PHPMailer یک جایگزین برای تابع mail() PHP است، اما بسیاری از موارد دیگر وجود دارد که تابع ()mail به سادگی به اندازه کافی برای رسیدن به آنچه شما نیاز دارید انعطاف پذیر نیست.

اول از همه، PHPMailer یک رابط شی گرا ارائه می کند، در حالی که ()mail شی گرا نیست. توسعه دهندگان PHP عموما از ایجاد رشته های headers$ در هنگام ارسال ایمیل با استفاده از تابع ()mail متنفرند، زیرا نیاز به فرار زیاد دارند. PHPMailer باعث می شود که مشکلات رفع شوند. توسعه‌دهندگان همچنین برای ارسال پیوست‌ها و ایمیل‌های مبتنی بر HTML هنگام استفاده از تابع ()mail نیاز به نوشتن کدهای کثیف (فرار از کاراکترها، کدگذاری و قالب‌بندی) دارند، در حالی که PHPMailer این کار را بدون دردسر می‌کند.

همچنین، تابع ()mail به یک سرور پست الکترونیکی محلی برای ارسال ایمیل نیاز دارد که راه اندازی آن همیشه بی اهمیت نیست. اگر احراز هویت دارید، PHPMailer می‌تواند از سرور ایمیل غیر محلی (SMTP) استفاده کند.

مزایای دیگر عبارتند از:

  1. در صورت عدم ارسال ایمیل، می تواند انواع مختلف پیام های خطا را به بیش از 40 زبان چاپ کند.
  2. دارای پشتیبانی از پروتکل SMTP و احراز هویت از طریق SSL و TLS است.
  3. می‌تواند یک نسخه متن ساده ایمیل را برای مشتریان ایمیل غیرHTML ارسال کند.
  4. این یک جامعه توسعه دهندگان بسیار فعال دارد که آن را ایمن و به روز نگه می دارد.
  5. PHPMailer همچنین توسط سیستم های مدیریت محتوای محبوب PHP مانند وردپرس، دروپال و جوملا استفاده می شود.

نصب PHPMailer

می توانید PHPMailer را با استفاده از Composer نصب کنید:

composer require phpmailer/phpmailer


عیب یابی کد هایمان

در دو مثال بالا، از Exception class PHPMailer برای اشکال‌زدایی استفاده کردیم، بنابراین هر خطای گرفته شده به ما کمک می‌کند تا مشکلاتی را که ممکن است رخ دهد، اشکال‌زدایی کنیم. ما همچنین آرگومان true را به constructor PHPMailer اضافه کردیم تا استثناهای سطح بالاتر و توصیفی بیشتری را تولید کنیم.

نمایش پیغام های خطای موضعی

mail->ErrorInfo$

می‌تواند پیام‌های خطا را به ۴۳ زبان مختلف بازگرداند.

برای نمایش پیام های خطا به زبانی دیگر، دایرکتوری language را از کد منبع PHPMailer در فهرست پروژه کپی کنید.

برای بازگرداندن پیام های خطا به زبان فرانسوی، به عنوان مثال، شی PHPMailer را با استفاده از فراخوانی روش زیر به زبان فرانسوی تنظیم کنید:

$mail->setLanguage(&quotfr&quot);

بازیابی ایمیل ها با استفاده از POP3

PHPMailer همچنین به تأیید POP-before-SMTP برای ارسال ایمیل اجازه می دهد. به عبارت دیگر، می توانید با استفاده از POP احراز هویت کنید و با استفاده از SMTP ایمیل ارسال کنید. متأسفانه، PHPMailer از بازیابی ایمیل از سرورهای ایمیل با استفاده از پروتکل POP3 پشتیبانی نمی کند. فقط به ارسال ایمیل محدود می شود.

اگر می خواهید PHP را به صورت حرفه ای یادبگرید و نحوه ارسال ایمیل و خیلی از موارد دیگر را یادبگرید می توانید از مقاله های وب سایت ما و دوره آموزشی PHP وب سایت ما استفاده کنید.

منبع: چطوری در PHP با PHPMailer ایمیل ارسال کنیم؟

آموزش برنامه نوسی: anophel

ما را در شبکه های اجتماعی دنبال کنید:

تلگرام: anophel

اینستاگرام: anophel

یوتیوب: anophel