D1-kifpool

آموزش Codeigniter - جلسه دهم: ارسال ایمیل

شنبه 17 مهر 1395 - 12:30
مطالعه 5 دقیقه
در این جلسه از سری آموزشی فریم‌ورک Codeigniter روش ارسال ایمیل را به شما آموزش خواهیم داد.
تبلیغات
D4-mcid4

معمولا در توسعه‌ی اپلیکیشن‌ها ارسال ایمیل به کاربران نیاز است. مثلا فرض کنید در فرم ثبت نام قصد دارید پس از موفق بودن عملیات عضو شدن کاربر جدید، یک ایمیل خوش‌آمد گویی برای وی ارسال کنید. در ادامه‌ی این آموزش با زومیت همراه باشید.

ارسال ایمیل در پی‌اچ‌پی بسیار آسان است ولی این امر در فریم‌ورک Codeigniter آسان‌تر نیز می‌شود. فریم‌ورک یاد شده امکانات زیر را برای ارسال ایمیل در اختیار شما قرار می‌دهد.

  • پشتیبانی از چندین پروتکل - Mail, Sendmail و SMTP
  • رمزنگاری TLS و SSL برای SMTP
  • امکان ارسال ایمیل همزمان به چند نفر
  • پشتیبانی از CC و ‌BCC
  • امکان ارسال ایمیل به صورت متنی یا HTML
  • امکان ضمیمه کردن فایل با ایمیل
  • شکستن متن در ایمیل
  • اولیت‌بندی ایمیل‌ها
  • حالت دسته‌ای BBC که امکان ارسال رایانامه به یک لیست بزرگ از آدرس‌ ایمیل‌های مختلف را فراهم می‌کند.
  • ابزارهای رفع اشکال ایمیل

کلاس ایمیل در فریم‌ورک Codeigniter شامل توابع زیر است که هر کدام کار خاصی را در ارسال ایمیل‌ها انجام می‌دهند.

کپی لینک

ارسال ایمیل 

برای ارسال ایمیل در فریم‌ورک codeigniter ابتدا باید کتابخانه‌ی مربوطه را بارگذاری کنیم. بدین منظور باید از کدی مثل کد زیر بهره ببریم.

$this->load->library('email');

پس از لود کردن کتابخانه‌ی ایمیل، به راحتی می‌توان از توابع فوق استفاده کرد و مقادیر مورد نیاز را در آن‌ها قرار داد تا ایمیل مورد نظر ارسال شود. با استفاده از تابع ()from می‌توان تعیین کرد که فرستنده‌ی ایمیل چه کسی است و با تابع ()to نیز مخاطب یا مخاطبانی که قصد ارسال ایمیل به آن‌ها را داریم را تعیین می‌کنیم. علاوه بر این با استفاده از دو تابع ()subject و ()message به ترتیب موضوع و متن اصلی ایمیل را تعیین می‌کنیم. به مثال زیر توجه کنید.

$this->email->from('your@example.com', 'Your Name');$this->email->to('someone@example.com');$this->email->subject('Email Test');$this->email->message('Testing the email class.');

پس از تنظیم مقادیر مورد نیاز برای ارسال ایمیل، با استفاده از تابع ()send اقدام به ارسال ایمیل می‌کنیم.

$this->email->send();

کپی لینک

مثال:

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

یک پروژه جدید Codeigniter همانند‌ پروژه‌هایی که در جلسات قبل ایجاد می‌کردید ایجاد کنید. بدین منظور ما یک پوشه در htdocs نرم‌افزار زمپ ساخته‌ و نام آن را code-emial تعیین کرده‌ایم. سپس همانند آنچه در آموزش‌های جلسات اولیه توضیح دادیم، فریم‌ورک را در این پوشه پیکربندی و آماده‌ی استفاده می‌کنیم.

در مسیر application/controller یک فایل کنترلر جدید به نام Email_controller.php بسازید و کد زیر را در آن قرار دهید:

php class Email_controller extends CI_Controller { function __construct() { parent::__construct(); $this->load->library('session'); $this->load->helper('form'); } public function index() { $this->load->helper('form'); $this->load->view('email_form'); } public function send_mail() { $from_email = "your@example.com"; $to_email = $this->input->post('email'); //Load email library $this->load->library('email'); $this->email->from($from_email, 'Your Name'); $this->email->to($to_email); $this->email->subject('Email Test'); $this->email->message('Testing the email class.'); //Send mail if($this->email->send()) $this->session->set_flashdata("email_sent","Email sent successfully."); else $this->session->set_flashdata("email_sent","Error in sending Email."); $this->load->view('email_form'); } } ?>

در کد بالا در متد ()sendـmail ابتدا مقادیری چون آدرس فرستنده، گیرنده، موضوع و متن ایمیل را تعیین کرده‌ایم. سپس با استفاده از دستور شرطی if و تابع ()send از ارسال شدن یا نشدن ایمیل اطمینان حاصی می‌کنیم و سپس با استفاده از تابع set_flashdata پیام مورد نظر را در هر یک از شرایط به کاربر نمایش می‌دهیم.

حال باید فایل ویو یا نمای مربوطه را نیز ایجاد کنیم. بدین منظور در مسیر application/views یک فایل جدید به نام email_form.php ایجاد کرده و کدهای زیر را در آن قرار دهید.

lang = "en"> charset = "utf-8"> </span><span class="pln">CodeIgniter Email Example</span><span class="tag"> php echo $this->session->flashdata('email_sent'); echo form_open('/Email_controller/send_mail'); ?> type = "email" name = "email" required /> type = "submit" value = "SEND MAIL"> php echo form_close(); ?>

در نهایت در مسیر application/config فایل routes.php را باز کرده و سپس خط زیر را به آخر آن اضافه کنید.

$route['email'] = 'Email_Controller';

با مراجعه به لینک اپلیکیشن ساخته شده، می‌توانیم ایمیل مورد نظرمان را توسط فریم‌ورک Codeigniter ارسال کنیم. از آنجا که ما این مثال را در پوشه‌ی codei-email ایجاد کرده‌ایم، بنابراین برای اجرای آن باید به آدرس زیر در مرورگر وب خود مراجعه کنیم.

http://127.0.0.1/index.php/email

همانطور که مشاهده کردید ارسال ایمیل در فریم‌ورک مورد بحث بسیار آسان بوده و بنا به نیاز خود می‌توانید هر نوع ایمیلی را با ِآن ارسال کنید. با توجه به توابعی که در این مطلب آن‌ها را به شما توضیح دادیم، سعی کنید برای خود پروژه‌ای تعریف کنید که در آن یک ایمیل اچ‌تی‌ام‌ال با محتوای دلخواه و نیز فایل ضمیمه را برای خود و چند نفر دیگر ارسال کنید.

اگر سوال یا پیشنهادی در مورد مباحث ارایه شده در این جلسه دارید، لطفا از طریق بخش دیدگاه‌ها آن را با زومیت و سایر کاربران به اشتراک بگذارید.

مقاله رو دوست داشتی؟
نظرت چیه؟
داغ‌ترین مطالب روز
مرد در حال وصل شدن به اینترنت با گوشی
تنظیمات اینترنت همراه اول برای گوشی های اندروید و آیفون

تنظیمات اینترنت همراه اول را چطور باید انجام دهیم؟ در‌ ادامه نحوه‌ی انجام این کار را با سه روش کد دستوری، شماره پیامک و APN شرح می‌دهیم.

21
1 روز قبل
نمای فضایی چرخش‌های شیری در آب بسیار قلیایی دریاچه وان در ترکیه
چرخش‌های شیری در دریاچه وان ترکیه؛ پدیده‌ای نادر که دانشمندان را شگفت‌زده کرد

دریاچه وان در ترکیه با چرخش‌های شیری عجیب و نادر چشم هر بیننده‌ای را می‌گیرد؛ راز این پدیده نادر طبیعت، بیشتر از آنچه تصور می‌کنید، حیرت‌آور است.

18
1 روز قبل
دانگل شیائومی TV Stick 4k
دانگل جدید شیائومی، تلویزیون‌ها را هوشمند می‌کند!

با محصول جدید و کوچک شیائومی می‌توانید هر نمایشگر ساده‌ای را به مرکز سرگرمی مدرن تبدیل کنید؛ تجربه‌ای که فراتر از تلویزیون عادی خواهد بود.

40
1 روز قبل
نمای سه‌چهارم جلو خودرو دنا لیموزین
دنا لیموزین رونمایی شد؛ سورپرایز ایران خودرو در نمایشگاه مشهد

در نمایشگاه خودرو مشهد، دنا لیموزین به‌نمایش درآمد، خودرویی عجیب با طول ۹ متر که توجه مردم را جلب کرد.

175
2 روز قبل
نقشه جهان
در مختصات صفر درجه عرض و صفر درجه طول جغرافیایی زمین چه چیزی وجود دارد؟

مختصات صفر درجه عرض و صفر درجه طول جغرافیایی، روی نقطه‌ای ناشناخته در اقیانوس اطلس قرار می‌گیرد که به جزیره نال معروف شده است.

30
1 روز قبل
مسابقه نصب اپلیکیشن زوبین
تا جمعه زوبین رو نصب کن، آیفون ۱۶ جایزه ببر؛ قرعه‌کشی ۸ شهریور ساعت ۱۷

برای شرکت در مسابقه کافی است که زوبین را نصب و سپس در آن لاگین کنید | فرصت شرکت در مسابقه تا پایان جمعه ۷ شهریور

479
1 روز قبل
آموزش رومینگ همراه اول
رومینگ همراه اول: فعال‌سازی، تعرفه و غیرفعال‌سازی

در این مقاله همه‌چیز درباره‌ی رومینگ همراه اول را توضیح می‌دهیم تا بتوانید در سفرهای خارجی، از ترکیه گرفته تا کانادا، از آن استفاده کنید.

1
1 روز قبل
تبلیغات
DN-DNShatel

نظرات

زوبین، همراه شما از انتخاب تا خرید
زوبین مشخصات کامل و لیست فروشندگان کالا را به شما ارائه می‌کند
بریم به زوبین