برای ارسال ایمیل در Laravel این آموزش را مرحله به مرحله تا انتها دنبال کنید.

مرحله اول: تنظیمات SMTP در فایل .env

برای این منظور ما سرویس ایمیل mailtrap را انتخاب نموده ایم و تنظیمات SMTP را در فایل .env بصورت زیر بروز رسانی میکنیم.

[pastacode lang=”php” manual=”MAIL_MAILER%3Dsmtp%0AMAIL_HOST%3Dsmtp.mailtrap.io%0AMAIL_PORT%3D2525%0AMAIL_USERNAME%3Dnull%0AMAIL_PASSWORD%3Dnull%0AMAIL_ENCRYPTION%3Dnull%0AMAIL_FROM_ADDRESS%3Dnull%0AMAIL_FROM_NAME%3D%22%24%7BAPP_NAME%7D%22″ message=”.enc” highlight=”” provider=”manual”/]

مرحله دوم: افزودن Routes

در این مرحله دو Route در فایل web.php یکی برای نمایش فرم و دیگری برای ارسال ایمیل به کاربر مورد نظر ایجاد کنید.

[pastacode lang=”php” manual=”Route%3A%3Aget(‘%2Femail’%2C%20’EmailController%40create’)%3B%0ARoute%3A%3Apost(‘%2Femail’%2C%20’EmailController%40sendEmail’)-%3Ename(‘send.email’)%3B” message=”routes/web.php” highlight=”” provider=”manual”/]

مرحله سوم: بروز رسانی Contoller

برای این منظور دستور زیر را در ترمینال اجرا کنید سپس فایل ایجاد شده را بصورت زیر ویرایش نمایید.

[pastacode lang=”php” manual=”php%20artisan%20make%3Acontroller%20EmailController%0A” message=”” highlight=”” provider=”manual”/]

پس از ایجاد موفقیت آمیز Controller جدید ، می توانید کد زیر را در فایل آن به روز کنید.

[pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CHttp%5CControllers%3B%0A%0Ause%20Illuminate%5CHttp%5CRequest%3B%0Ause%20Mail%3B%0A%0Aclass%20EmailController%20extends%20Controller%0A%7B%0A%20%20%20%20public%20function%20create()%0A%20%20%20%20%7B%0A%0A%20%20%20%20%20%20%20%20return%20view(’email’)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20public%20function%20sendEmail(Request%20%24request)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%24request-%3Evalidate(%5B%0A%20%20%20%20%20%20%20%20%20%20’email’%20%3D%3E%20’required%7Cemail’%2C%0A%20%20%20%20%20%20%20%20%20%20’subject’%20%3D%3E%20’required’%2C%0A%20%20%20%20%20%20%20%20%20%20’content’%20%3D%3E%20’required’%2C%0A%20%20%20%20%20%20%20%20%5D)%3B%0A%0A%20%20%20%20%20%20%20%20%24data%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20’subject’%20%3D%3E%20%24request-%3Esubject%2C%0A%20%20%20%20%20%20%20%20%20%20’email’%20%3D%3E%20%24request-%3Eemail%2C%0A%20%20%20%20%20%20%20%20%20%20’content’%20%3D%3E%20%24request-%3Econtent%0A%20%20%20%20%20%20%20%20%5D%3B%0A%0A%20%20%20%20%20%20%20%20Mail%3A%3Asend(’email-template’%2C%20%24data%2C%20function(%24message)%20use%20(%24data)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%24message-%3Eto(%24data%5B’email’%5D)%0A%20%20%20%20%20%20%20%20%20%20-%3Esubject(%24data%5B’subject’%5D)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20%20%20return%20back()-%3Ewith(%5B’message’%20%3D%3E%20’Email%20successfully%20sent!’%5D)%3B%0A%20%20%20%20%7D%0A%7D” message=”app/Http/Controllers/EmailController.php” highlight=”” provider=”manual”/]

مرحله چهارم: ایجاد Blade فایل

اکنون باید برای فرمی که ارسال ایمیل را در Laravel نشان می دهد یک فایل ایجاد کنیم.

[pastacode lang=”php” manual=”%3C!DOCTYPE%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3EMail%20Send%20in%20Laravel%20Example%20-%20uclass.ir%3C%2Ftitle%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22utf-8%22%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22X-UA-Compatible%22%20content%3D%22IE%3Dedge%22%3E%0A%20%20%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%20initial-scale%3D1%22%3E%0A%20%20%20%20%3Clink%20href%3D%22%2F%2Fnetdna.bootstrapcdn.com%2Fbootstrap%2F3.2.0%2Fcss%2Fbootstrap.min.css%22%20rel%3D%22stylesheet%22%3E%0A%20%20%20%20%3Cmeta%20name%3D%22csrf-token%22%20content%3D%22%7B%7B%20csrf_token()%20%7D%7D%22%20%2F%3E%0A%3C%2Fhead%3E%0A%0A%3Cbody%3E%0A%20%20%20%20%3Cdiv%20class%3D%22container%22%3E%0A%20%20%20%20%20%20%20%20%3Ch1%3EMail%20Send%20in%20Laravel%20Example%20with%20%3Ca%20href%3D%22https%3A%2F%2Fuclass.ir%2F%22%3Euclass.ir%3C%2Fa%3E%3C%2Fh1%3E%0A%20%20%20%20%20%20%20%20%20%20%40if(session()-%3Ehas(‘message’))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22alert%20alert-success%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7B%20session()-%3Eget(‘message’)%20%7D%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%40endif%0A%20%20%20%20%20%20%20%20%3Cform%20action%3D%22%7B%7B%20route(‘send.email’)%20%7D%7D%22%20method%3D%22post%22%3E%0A%20%20%20%20%20%20%20%20%20%20%40csrf%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22form-group%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Clabel%3EEmail%3A%3C%2Flabel%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22email%22%20name%3D%22email%22%20class%3D%22form-control%22%20placeholder%3D%22Enter%20Email%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40error(’email’)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class%3D%22text-danger%22%3E%20%7B%7B%20%24message%20%7D%7D%20%3C%2Fspan%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40enderror%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22form-group%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Clabel%3ESubject%3A%3C%2Flabel%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22subject%22%20class%3D%22form-control%22%20placeholder%3D%22Enter%20subject%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40error(‘subject’)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class%3D%22text-danger%22%3E%20%7B%7B%20%24message%20%7D%7D%20%3C%2Fspan%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40enderror%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22form-group%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cstrong%3EContent%3A%3C%2Fstrong%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctextarea%20name%3D%22content%22%20rows%3D%225%22%20class%3D%22form-control%22%20placeholder%3D%22Enter%20Your%20Message%22%3E%3C%2Ftextarea%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40error(‘content’)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class%3D%22text-danger%22%3E%20%7B%7B%20%24message%20%7D%7D%20%3C%2Fspan%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40enderror%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22form-group%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22submit%22%20class%3D%22btn%20btn-success%20save-data%22%3ESend%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3C%2Fform%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E” message=”resources/views/email.blade.php” highlight=”” provider=”manual”/]

مرحله پنجم: قالب ایمیل ارسالی

وقتی ایمیل شما ارسال می شود مطابق با الگوی قالب زیر ایمیل ارسال می گردد.

[pastacode lang=”php” manual=”%3Cdiv%20class%3D%22container%22%3E%0A%20%20%20%20%20%3Cdiv%20class%3D%22row%20justify-content-center%22%3E%0A%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22col-md-8%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22card%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22card-header%22%3EWelcome!%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22card-body%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40if%20(session(‘resent’))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22alert%20alert-success%22%20role%3D%22alert%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%7B%20__(‘A%20fresh%20mail%20has%20been%20sent%20to%20your%20email%20address.’)%20%7D%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%40endif%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B!!%20%24content%20!!%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%3C%2Fdiv%3E” message=”resources/views/email-template.blade.php” highlight=”” provider=”manual”/]

آموزش ارسال ایمیل در Laravel در اینجا به پایان رسید امیدواریم که این مطلب برای شما مفید باشد.

علاقه ام از سالها قبل برنامه نویسی تحت وب بوده و هست ، همیشه سعی می کنم علاقه مندی های خودم رو در ضمیه برنامه نویسی با همه به اشتراک بذارم، مطالب اینجا بتونه مشکل یه نفر رو هم برطرف کنه اون حس خوب رضایت رو در من بوجود میاره ;)

ارسال نظر