laravel

Изпращайте имейли в Laravel с помощта на SMTP

Изпращайте имейли в Laravel с помощта на SMTP
Изпращането на имейл е често срещано изискване за всяко уеб приложение. Някои общи начини за изпращане на имейли включват проверка на регистрацията на потребителя, получаване на обратна връзка от потребителите, предоставяне на опции за връзка с администратора на сайта и т.н. Рамката на Laravel съдържа няколко пакета за изпращане на имейли от проекта Laravel. SMTP, Mailgun, Postmark и Amazon SES се използват в Laravel за изпращане на прости, транзакционни и групови имейли. Laravel има библиотека за изпращане на имейли на име SwiftMailer за изпращане на имейл с шаблон за имейл. Този урок ви показва как да изпратите обикновен имейл чрез SMTP.

SMTP настройка и конфигуриране

Отвори .env файл от основната папка на проекта Laravel и настройте конфигурацията според вашия акаунт в Gmail. Трябва да активирате „По-малко сигурно приложение”Опция на вашия акаунт в Gmail за изпращане на имейл чрез SMTP сървъра на Gmail.

MAIL_MAILER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 465
MAIL_USERNAME = ВАШАТА_ЕМАИЛНА АДРЕСА
MAIL_PASSWORD = ВАШАТА_ПАРА
MAIL_ENCRYPTION = ssl

***Забележка:

Може да получите грешка при SMTP удостоверяване, докато изпращате имейли, използвайки SMTP сървъра за акаунти в Gmail. Отвори StreamBuffer.php файл от следното местоположение.

/ var / www / html / laravelpro / vendor / swiftmailer / swiftmailer /
lib / classes / Swift / Transport / StreamBuffer.php

Намерете и заменете реда 259 със следния ред за удостоверяване на SMTP сървъра на Gmail.

$ options ['ssl'] = array ('verify_peer' => false, 'verify_peer_name' => false,
'allow_self_signed' => true);

Изпращане на имейли чрез SMTP

Изпълнете следните стъпки, за да изпратите имейл чрез формата за контакт, като създадете контролер, изглед и клас на поща.

Стъпки:

Изпълнете следната команда от терминала, за да създадете EmailController за да покажете формуляра за контакт и да изпратите имейл с помощта на клас поща Laravel.

$ php artisan make: контролер EmailController

Изпълнете следната команда, за да създадете имейл клас с име изпращане на имейл. Това ще създаде класа под App \ Mail папка.

$ php artisan make: изпращане на пощаEmail

Създайте файл с име на име изпращане на имейл.острие.php със следния код за показване на формата за контакт.




Свържете се с нас












Свържете се с нас




@if (брой ($ грешки)> 0)



    @foreach ($ грешки-> всички () като $ грешка)
  • $ грешка

  • @endforeach


@endif
@if ($ message = Session :: get ('успех'))


$ съобщение

@endif



csrf_field ()


















Отворете EmailController и модифицирайте кода със следния код. The Поща фасада и изпращане на имейл пощенските класове се импортират в началото на файла. Ето, индекс () метод ще зареди файла за преглед в браузъра, за да покаже формата за контакт. След подаване на формуляра, изпрати () метод ще бъде извикан. Този метод ще валидира формуляра, като използва правилата за валидиране. The $ данни масив се използва за изпращане на стойностите на име и съобщение полета в изпращане на имейл клас. След това имейлът се изпраща с помощта на Поща фасада. Трябва да зададете валиден имейл адрес на получателя в да се() функция преди изпълнение на кода. Ако имейлът се изпраща успешно, ще се отпечата съобщение за успех.

пространство от имена App \ Http \ Controllers;
използвайте Illuminate \ Http \ Request;
използвайте Illuminate \ Support \ Facades \ Mail;
използвайте App \ Mail \ sendEmail;
клас EmailController разширява Controller

индекс на функция ()

изглед за връщане ('emailsend');

функция изпращане (заявка $ заявка)

$ this-> валидиране ($ заявка, [
'name' => 'задължително',
'email' => 'задължително | имейл',
'message' => 'задължително'
]);
$ данни = масив (
'name' => $ request-> name,
'message' => $ request-> message
);
Mail :: to ('Receiver Email Address') -> изпращане (ново изпращане на имейл ($ данни));
return back () -> with ('success', 'Благодаря, че се свързахте с нас!');

Отвори изпращане на имейл клас и модифицирайте кода със следния код. Темата на имейла е дефинирана в изграждане () метод и имейл_шаблон view се използва за форматиране на съдържанието на имейл, създадено в следващата стъпка. Стойностите, предадени от EmailController се съхраняват в $ имейл обект и се предават в имейл_шаблон изглед.

пространство от имена App \ Mail;
използвайте Illuminate \ Bus \ Queueable;
използвайте Illuminate \ Contracts \ Queue \ ShouldQueue;
използвайте Illuminate \ Mail \ Mailable;
използвайте Illuminate \ Queue \ SerializesModels;
class sentEmail се разширява Достъпен

използвайте Queueable, SerializesModels;
/ **
* Създайте нов екземпляр на съобщение.
*
* @return void
* /
публични имейли в $;
публична функция __construct ($ имейли)

$ this-> emails = $ имейли;

/ **
* Изградете съобщението.с
*
* @ върни $ това
* /
изграждане на публична функция ()

върнете $ this-> subject ('Съобщение от посетител')
-> изглед ('email_template')
-> с ('имейли', $ this-> имейли);

Създайте име на файл с изглед на шаблон имейл_шаблон.острие.php със следния код, за да изпратите форматираното имейл до подателя. Стойностите, предадени от изпращане на имейл клас се използват в този шаблон.

Здравейте,
Аз съм $ имейли ['name']


Запитването ми е за следната тема:


$ имейли ['съобщение'].


Ще бъде полезно, ако скоро ми отговорите.Благодаря ти.

Сега отворете уеб.php файл и добавете следния код на маршрута, за да отворите формата за контакт и да изпратите имейла.

Route :: get ('/ contact', '[имейл защитен]');
Route :: post ('/ sendemail / send', '[имейл защитен]');

Изпълнете следния URL от браузъра, за да заредите формата за контакт.

http: // localhost / laravelpro / public / contact

Попълнете формуляра и кликнете върху Изпрати съобщение бутон за изпращане на съдържанието на формуляра до изпрати () метод на EmailController клас.

Ако имейлът е изпратен успешно, ще получите съобщението за успех, както е показано на следващото изображение.

Сега отворете акаунта в Gmail, който сте използвали за изпращане на имейл в изпрати () метод на EmailController клас. Ако отворите имейла, ще получите следното имейл съдържание, генерирано с помощта на имейл_шаблон Виж файла.

Видео урок

Заключение

В рамките на Laravel съществуват множество начини за изпращане на имейл. Най-простият и лесен начин за изпращане на имейл в Laravel е показан в този урок. Ако имате акаунт в Gmail, можете лесно да изпратите имейл, като следвате стъпките, показани в този урок. Тук се използва SMTP сървърът на Gmail за изпращане на имейл и задачата за изпращане на имейл се тества чрез стартиране на кода от локалния сървър. Този урок показва само форматирани в HTML задачи за изпращане на имейли. Можете също така да изпълнявате други задачи, като прикачен файл, име на подател и т.н., чрез използване на други методи на Поща клас.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...