Подтвердить что ты не робот

Как отправить сообщение с Laravel 4 без использования представления?

Я разрабатываю сайт, используя Laravel 4 и хотел бы отправлять собственные рекламные сообщения во время тестирования, но он кажется единственным способ отправки сообщений электронной почты - это просмотреть представление.

Можно ли сделать что-то вроде этого?

Mail::queue('This is the body of my email', $data, function($message)
{
    $message->to('[email protected]', 'John Smith')->subject('This is my subject');
});
4b9b3361

Ответ 1

Как упоминалось в ответе Laravel mail: передать строку вместо представления, вы можете сделать это (код скопирован дословно из ответа Jarek):

Mail::send([], [], function ($message) {
  $message->to(..)
    ->subject(..)
    // here comes what you want
    ->setBody('Hi, welcome user!');
});

Вы также можете использовать пустой вид, помещая его в приложение /views/email/blank.blade.php

{{{ $msg }}}

И ничего больше. Затем вы кодируете

Mail::queue('email.blank', array('msg' => 'This is the body of my email'), function($message)
{
    $message->to('[email protected]', 'John Smith')->subject('This is my subject');
});

И это позволяет отправлять пользовательские пустые письма из разных частей приложения без необходимости создавать разные представления для каждого из них.

Ответ 2

Если вы хотите отправить только текст, вы можете использовать включенный метод:

Mail::raw('Message text', function($message) {
    $message->from('[email protected]', 'Laravel');
    $message->to('[email protected]')->cc('[email protected]');
});

Ответ 3

Нет, если вы не используете Laravel Mail, вам нужно будет просмотреть представление, даже если оно пустое. Вам нужно будет написать свою собственную почтовую программу, чтобы включить эту функцию.