نحوه ارسال ایمیل در php
0 0

نحوه ارسال ایمیل در php


نحوه ارسال ایمیل در php

در این پست نحوه ارسال ایمیل با استفاده از PHPMailer را در PHP به صورت کامل برایتان قرار داده ایم.

برای ارسال ایمیل می توانید از تابع mail که در php وجود دارد استفاده کنید ولی این روش زیاد مناسب نیست. در این آموزش ما از third party application ها استفاده خواهیم کرد یعنی از طریق یکسری اپلیکیشن های شخص سوم ایمیل را ارسال می کنیم .

برای اینکه از این روش استفاده کنید باید فایل مربوط به این کار را از سایت مربوطه دانلود کنید. برای این کار ابتدا به سایت phpmailer.worxware.com رفته سپس در قسمت منوها از منوی download گزینه دوم یعنی PHPMailer for PHP5/6 را انتخاب کرده در این صورت به یک صفحه جدید منتقل می شوید که هم می توانید این فایل را از طریق Github دانلود کنید و یا اینکه از طریق Google code فایل مربوطه را دانلود کنید. بعد از این کار باید ابتدا یک صفحه برای ارسال ایمیل درست کرده و کدهای که در ادامه شرح خواهیم داد را درون آن بنویسید.

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

<?php 
//www.iranganj.ir
  require_once("photo_gallery/includes/phpMailer/class.phpmailer.php");
  require_once("photo_gallery/includes/phpMailer/class.smtp.php");
  require_once("photo_gallery/includes/phpMailer/language/phpmailer.lang-en.php");
  $to_name = "name";
  $to = "email address receiver";
  $subject = "Mail Test "
  $message = "This is a test.";  
  $from_name = "name";
  $from = "email address sender";
  $mail = new PHPMailer();
  $mail->IsSMTP();
  $mail->SMTPSecure = 'tls';
  $mail->Host = "server name";
  $mail->Port = 587/25;
  $mail->SMTPAuth = true;
  $mail->Username = "username";
  $mail->Password = "password";
  $mail->FromName = $from_name;
  $mail->From = $from;
  $mail->AddAddress($to, $to_name);
  $mail->Subject = $subject;
  $mail->Body = $message;
  $result = $mail->Send();
  echo $result ? 'Sent' : 'Error';
?>

در سه خط اول سه فایل class.phpmailer.php ، class.smtp.php و pahpmaier.lang-en.php را با استفاده از دستور require_once به برنامه اینکلود کرده ایم که می توانید به جای این دستور از دستور include نیز استفاده کنید. دو کلاس اول برای ارسال ایمیل که ما در اینجا از smtp استفاده کرده ایم. و فایل سوم نیز برای بررسی خطاها می باشد فایل اول و دوم ضروری بوده ولی فایل سوم ضروری نمی باشد.

در خط چهارم در داخل متغیر $to_name می توانید نام فردی را که به آن ایمیل ارسال می کنید را مشخص کنید. در خط پنجم در داخل متغیر $to باید ایمیل گیرنده پیام را مشخص کنید. در خط ششم در داخل متغیر $subject موضوع پیام قرار می گیرد. در خط هفتم داخل متغیر $message متن پیام مشخص می شود. در خط هشتم در داخل متغیر $from_name نام ارسال کننده ایمیل قرار می گیرد. در خط نهم داخل متغیر $from ایمیل ارسال کننده پیام قرار می گیرد. در خط دهم ما باید از کلاس PHPMailer یک نمونه ایجاد کنیم که این کار با استفاده از دستور $mail=new PHPMailer انجام می شود. در خط یازدهم چون ما از پروتکل SMTP برای ارسال ایمیل استفاده می کنیم فانکشن IsSMTP را فراخوانی می کنیم. در خط دوازدهم باید SMTPSecure را برابر tls قرار دهیم. در خط دوازدهم نام سرور خود را برای ارسال ایمیل مسخص می کنید. اگر از سرور google استفاده می کنید باید در این خط عبارت smtp.gmail.com را بنویسید و اگر از یاهو استفاده می کنید باید عبارت smtp.mail.yahoo.com را قرار دهید و اگر از سرور خودتان برای ارسال ایمیل استفاده می کنید باید عبارت mail.yourdomain.ir یا .com را قرار دهید.

در خط سیزدهم باید شماره پورت سرور برای ارسال ایمیل را مشخص کنید اگر از یاهو استفاده می کنید باید آن را برابر 25 و اگر از google استفاده می کنید باید پورت را برابر 587  قرار دهید. در خط چهاردهم باید Authentication را مشخص کنید یعنی آیا Authentication انجام گیرد یا نه که برای سرور های yahoo و gmail این باید حتما true باشد. در خط پانزدهم username را مشخص می کنید که همان ایمیلی است که مشخص می کنید Authentication انجام گیرد و از طریق آن ایمیل ارسال می شود که همان ایمیل ارسال کننده می باشد. در خط شانزدهم هم پسورد مربوط به آن ایمیل را می نویسید.

در خط هفدهم ویژگی FromName را برابر همان متغیر $from_name قرار میدهیم که همان نام ارسال کننده است و در خط هجدهم در ویژگی From متغیر $from قرار می گیرد که همان ایمیل ارسال کننده می باشد. در خط نوزدهم در داخل AddAddress متغیر های $to و $to_name قرار می گیرد. در خط بیستم در داخل ویژگی Subject متغیر $subject قرار می گیرد که همان موضوع پیام می باشد. در خط بیست و یکم در داخل ویژگی Body متغیر $message قرار می گیرد که همان متن پیام می باشد. در خط بیست و دوم هم با استفاده از تابع Send ایمیل را ارسال کرده و خروجی آن را داخل متغیر $result قرار می دهیم و در خط بیست و سوم همان چک می کنیم که آیا ایمیل ارسال شده یا نه اگر خروجی یک باشد یعنی ایمیل ارسال شده و sent چاپ می شود و اگر عددی به غیر از یک باشد یعنی ایمیل ارسال نشده و پیغام Error چاپ می شود.

توجه : تمامی فایلهای این برنامه همراه آموزش وجود دارد.

دانلود

نویسنده حسین فتحی
گروه مطلب PHP
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۲۶ دی ۱۳۹۳
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران VIP
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha

این صفحه را می‌پسندم