Я хочу отправить электронную почту через мою учетную запись gmail.Yii2 SwiftMailer, отправляющий электронную почту через удаленный smtp-сервер (gmail)
Моя почтовая программа конфигурации:
[
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,//set this property to false to send mails to real email addresses
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => '[email protected]',
'password' => 'pass',
'port' => '587',
'encryption' => 'tls',
],
]
Я написал команду MailController:
<?php
namespace app\commands;
use yii\console\Controller;
use Yii;
/**
* Sanding mail
* Class MailController
* @package app\commands
*/
class MailController extends Controller
{
private $from = '[email protected]';
private $to = '[email protected]';
public function actionIndex($type = 'test', $data = null)
{
Yii::$app->mailer->compose($type, ['data' => $data])
->setFrom($this->from)
->setTo($this->to)
->setSubject($this->subjects[$type])
->send();
}
}
Когда я пытаюсь запустить: php yii mail
я получаю: sh: 1: /usr/sbin/sendmail: not found
Но почему он требует sendmail, если я хочу только SMTP-подключение к smtp.gmail .com?
Вы уверены, что этот компонент электронной почты конфигурации для ключа «почтовик»? В соответствии с этой конфигурацией даже не предполагается отправлять электронную почту как «useFileTransport» => true »означает, что она сохраняет сообщение только в файл. –