50درصد تخفیف سورس فروشگاهی دیجی کالا + اپلیکیشن اندروید تا پایان این هفته - کد تخفیف : off50
با تخفیف میخرم

ارسال ایمیل با php

  • آپدیت شده در تاریخ

ارسال ایمیل با php

ارسال ایمیل با php  یکی از پر استفاده ترین قابلیت های اپلیکیشن های تحت وب است .

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

بعضی اوقات هنگام ارسال ایمیل ممکن است به علت حجم بالای  درخواست های سرور مشکلاتی در ارسال موفقیت آمیز ایمیل بوجود باید اما با SMTP  این مشکل قابل حل می باشد .

استفاده از SMTP سرور ، بهترین روش پیشنهادی برای ارسال ایمیل با php است.

زمانی که یک ایمیل از طریق SMTP ارسال می شود ، ایمیل به جای وب سرور از میل سرور (mail server) ارسال می شود که باعث درصد موفقیت ارسال ایمیل با php و اسپم نشدن ایمیل می شود.

در واقع با ارسال ایمیل با SMTP در php می توان این تضمین را بوجود آورد که ایمیل با موفقیت در پوشه inbox کاربر قرار گیرد

برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود

کد ارسال ایمیل با php و کتابخانه PHPMailer

دانلود کتابخانه PHPMailer

یکی از راحترین راه های ارسال ایمیل با php  و SMTP استفاده از کتابخانه PHPMailer  است . کانفیگ های مختلف PHPMailer  به شما اجازه ارسال انواع ایمیل های متنی , HTML  و همچنین پیوست فایل را می دهد .

در این آموزش خواهیم دید چگونه یک ایمیل از نوع محتوای HTML  را با SMTP  در PHP  می شود ارسال کرد .از مثال زیر می توانید برای ارسال ایمیل با php از طریق کتابخانه PHPMailer استفاده کنید

ارسال ایمیل HTML در php  با PHPMailer

با تابع isHTML(true) نوع فرمت ایمیل را ست میکنیم

ارسال فایل در ایمیل

با متد addAttachment() در کلاس PHPMailer یک فایل ضمیمه را پیوست (آدرس دهی) کنید . همچنین میتوانید چندین فایل مختلف را با تکرار addAttachment() اضافه کنید

ارسال انبوه ایمیل

با اضافه کردین چندین باره addAddress() میتوانید یک ایمیل را به چند نفر همزمان ارسال کنید

ارسال ایمیل با SMTP جی میل (Gmail)

اگر قصد ارسال ایمیل با SMTP GMAIL  دارید باید چندین تغییر در تنظیمات اکانت جی میل خود انجام بدید .

  • وارد حساب گوگل خود در صفحه gmail.com  شوید
  • به قسمتMy Account  بروید بر روی Signing in to Google در Sign-in & security کلیک کنید
  • در بخش Password & sign-in method قابلیت  ۲-Step Verification. را غیرفعال کنید
  • در بخش Connected apps & sites قابلیت Allow less secure apps را فعال کنید

اوکی تمام شد ! حالا می توانید با استفاده از SMTP  سرور Gmail با اسکریپت php خود ایمیل ارسال کنید

حتما اول اسکریپت خود مشخصات اکانت (آدرس ایمیل و پسورد )و SMTP host  و پورت را وارد کنید

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

موفق باشید.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۲۶)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. فراز کثیری ۱۴ آبان ۱۳۹۹

    با سلام و خسته نباشید
    کدام کد ها رو باید تغییر بدم تا روی سایت خودم انجام گیرد ینی کد های خصوصی کدامند که برا هر کس متفاوته؟
    سایت بنده آقای شفیعی برید تو قسمت contact ببینید فرم ایمیلم را و اگر میشه راهنمایی ام بکنید
    بسیار متشکر

    پاسخ
    1. حسن شفیعی ۱۴ آبان ۱۳۹۹

      سلام. بیشتر بخش ها از عنوان گرفته تا متن و آدرس ایمیل ها و مشخصات smtp تغییر کند.
      اگر میخواهید برای بخش تماس با ما استفاده کنید این آموزش را ببینید :
      ساخت فرم تماس با ما در php

      پاسخ
  2. محمد ۱۹ مهر ۱۳۹۹

    با سلام می خواستم بدونم اگر بخواهیم بجای gmail از outlook استفاده کنیم باید چه کار کنیم

    پاسخ
    1. حسن شفیعی ۱۹ مهر ۱۳۹۹

      سلام. هر سرویس دهنده یک smtp سرور و یک پورت داره که الان پورت ۵۸۷ ثابت هست و فقط آدرس url سرور رو به smtp-mail.outlook.com تغییر بدید و یوزر و پسورد outlook خودتون رو قرار بدید

      پاسخ
  3. محمد طاها ۱۸ مهر ۱۳۹۹

    با سلام من این کد را در Localhost اجرا کردم درست کار کرد ولی وقتی بر روی هاست واقعی آپلودش کردم یک همچنین اروری به من می دهد
    Message could not be sent.Mailer Error: The following From address failed: info@tahmooresian.ir
    SMTP server error: 5.7.0 Authentication Required. Learn more at 530 5.7.0 https://support.google.com/mail/?p=WantAuthError i9sm12498629wma.47 – gsmtp

    پاسخ
    1. حسن شفیعی ۱۸ مهر ۱۳۹۹

      سلام.
      خطا مربوط به ssl هست

      پاسخ
      1. محمد طاها ۱۸ مهر ۱۳۹۹

        با سلام مجدد برای حلش باید چه کنم ؟

        پاسخ
      2. حسن شفیعی ۱۹ مهر ۱۳۹۹

        سلام.
        احتمالا به خاطر هاست و ورژن php هست.
        ورژن جدید کتابخانه رو دانلود و جایگزین کنید:
        https://github.com/PHPMailer/PHPMailer/tree/master/src

        پاسخ
  4. alireza ۱۳ تیر ۱۳۹۹

    سلام من کدهارو روی هاست واقعی اجرا کردم و خطای
    SMTP Error: Could not connect to SMTP host.
    را گرفتم قبلا یادمه کار میکرد اما حالا نمیدونم
    چرا کار نمی کنه
    مشخصاتمم همه رو درست زدم و حتی تو thunder brid هم تست کردم

    پاسخ
    1. حسن شفیعی ۱۴ تیر ۱۳۹۹

      سلام. شاید مشکل مربوط به ورژن php باشد و هاست هم میتونه تاثیر گذار باشه.

      پاسخ
  5. Ali ۱۸ اردیبهشت ۱۳۹۹

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

    پاسخ
    1. حسن شفیعی ۱۸ اردیبهشت ۱۳۹۹

      سلام. خوشحالیم که مفید واقع شده.
      خیلی ممنونم. لطف دارید.
      بله در مورد احراز هویت با اثر انگشت (biometric authentication) قبلا کتابخانه هایی که با php نوشته شدند منتشر شده :
      https://github.com/AyushKaul/Biometric-Fingerprint-Integration

      پاسخ
  6. Mohammad javad ۲۸ فروردین ۱۳۹۹

    ببخشید بازم سوال
    میخوام فرم ارسال ایمیل رو به دیتابیس وصل کنم میتونین کمک کنید ؟؟

    پاسخ
    1. حسن شفیعی ۲۹ فروردین ۱۳۹۹

      اگر نیاز به انجام پروژه دارید که میتونید درخواست رو به ایمیل سایت یا از صفحه تماس با ما ارسال کنید

      پاسخ
  7. Mohammad javad ۲۶ فروردین ۱۳۹۹

    ببخشید چطوری کاری کنم که وقتی کسی داخل سایت ثبت نام کرد براش پیام خوش امد گویی فرستاده بشه

    پاسخ
    1. حسن شفیعی ۲۶ فروردین ۱۳۹۹

      سلام. در کد ثبت نام میتونید این کد ایمیل خوش آمدگویی رو اضافه کنید.

      پاسخ
      1. Mohammad javad ۲۶ فروردین ۱۳۹۹

        چطوری ؟؟
        اموزشی در این باره دارید ؟؟

        پاسخ
      2. حسن شفیعی ۲۶ فروردین ۱۳۹۹

        خیر. تا زمانی که php مقدماتی به بالا را یاد نگیرید نمیتونید چنین چیزی رو پیاده سازی کنید

        پاسخ
      3. Mohammad javad ۲۶ فروردین ۱۳۹۹

        شما بگید من یاد میگیرم لطفا

        پاسخ
      4. حسن شفیعی ۲۶ فروردین ۱۳۹۹

        متاسفانه بحثی نیست که در بخش نظرات بشه توضیحش داد.

        پاسخ
      5. Mohammad javad ۲۷ فروردین ۱۳۹۹

        داخل سایت نزاشتین و جایی رو نمیدونید داره یا نه ؟؟

        پاسخ
      6. حسن شفیعی ۲۷ فروردین ۱۳۹۹

        نه متاسفانه این موضوع چیزی نیست که جایی به خاطرش پستی ارسال شده باشه و باید با علم برنامه نویسی خودتون بتونید این تغییر رو لحاظ کنید

        پاسخ
  8. زهره دایی ۲۵ دی ۱۳۹۷

    سلام
    این روش رو لوکال هاست هم جواب میده؟؟

    پاسخ
    1. حسن شفیعی ۲۵ دی ۱۳۹۷

      سلام. بله در صورتی که extension=php_openssl.dll در لوکال شما فعال باشه میتونید از این روش در لوکال هاست هم استفاده کنید

      extension=php_openssl.dll در فایل php.ini (فعال کردن با حذف ;)
      یا چک کردن از طریق تابع phpinfo()

      موفق باشید.

      پاسخ
  9. سامان ۲۱ خرداد ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۲۱ خرداد ۱۳۹۷

      سلام . بله قرار داده شد که از باکس دانلود میتونید دریافت کنید.

      موفق باشید.

      پاسخ
دوره های آموزشی

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link