برای ارسال ایمیل در 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 در اینجا به پایان رسید امیدواریم که این مطلب برای شما مفید باشد.