我目前没有收到使用以下配置的电子邮件,并想知道是否与我的设置有关,可能会遗漏某些东西,或者它在MAMP localhost上无效?
通用配置目录中的main-local.php
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
然后发送电子邮件(显示成功消息)
public function submitreview($email)
{
//return Yii::$app->mailer->compose(['html' => '@app/mail-templates/submitreview'])
return Yii::$app->mailer->compose()
->setTo($email)
->setFrom([$this->email => $this->name])
->setSubject($this->title)
->setTextBody($this->description)
->attachContent($this->file)
->send();
}
答案 0 :(得分:3)
您可以通过以下配置在Yii2中通过localhost发送邮件。
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'ENTER_EMAIL_ADDRESS_HERE',
'password' => 'ENTER_PASSWORD',
'port' => '587',
'encryption' => 'tls',
],
]
并在您的控制器中
\Yii::$app->mail->compose('your_view', ['params' => $params])
->setFrom([\Yii::$app->params['supportEmail'] => 'Test Mail'])
->setTo('to_email@xx.com')
->setSubject('This is a test mail ' )
->send();
答案 1 :(得分:2)
我只是使用gmail进行测试,使用这个php文件从本地主机发送邮件。 当您要进行制作时,请使用原始凭据替换传输文件。
如果邮件成功发送,$ result将回显1
<?php
$subject="Testing Mail";
$body="<h2>This is the body</h2>";
$to="*******@gmail.com"; //this is the to email address
require_once 'swiftmailer/swift_required.php';
// Create the mail transport configuration
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('######')->setPassword('######');
//$transport = Swift_MailTransport::newInstance();
$message = Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array('######@gmail.com'))
->setTo(array($to))
->setBody($body,'text/html');
//send the message
$mailer = Swift_Mailer::newInstance($transport);
$result=$mailer->send($message);
?>
答案 2 :(得分:0)
当useFileTransport
设置为true
时(在开发环境中为默认值),邮件将作为文件保存在&#39;运行时&#39;文件夹中。
例如,如果您在站点的后端使用高级启动器模板并注册为用户(并使用发送用户注册电子邮件的扩展名),则注册电子邮件将保存在/backend/runtime/mail
中