我正在尝试创建一个通过电子邮件将邮件发送到我的电子邮件地址的联系表单。当我测试它时,我得到了这个错误
Swift_TransportException
预期的响应代码250,但得到代码“530”,消息“530 5.7.0必须首先发出STARTTLS命令.bv17sm3597476wib.13 - gsmtp”
这是我的控制器
public function contact()
{
$data = array(
'name' => Input::get('name')
);
Mail::send('emails.contact', $data, function($message){
$message->to('[email protected]', 'Nikki')->subject('Login Details');
});
}
这是我的contact.blade.php
{{ Form::open(array('id' => 'contact-frm', 'class' => 'contact-form', 'route' => 'contact')) }}
{{ Form::label('fname', 'Name') }}
{{ Form::text('fname') }}
{{ Form::label('surname', 'Surname') }}
{{ Form::text('surname') }}
{{ Form::label('email', 'Email') }}
{{ Form::text('email') }}
{{ Form::label('message', 'Message') }}
{{ Form::textarea('message') }}
{{ Form::submit('Submit') }}
{{ Form::close()}}
mail.php
'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => '[email protected]', 'name' => "Nikki"),
'encryption' => 'tls',
'username' => '[email protected]',
'password' => 'MyPassword',
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
更改.env
时,您需要重新启动服务器
在Laravel 5中,问题来自.env
文件。 Laravel附带的加密值设置会覆盖config/mail.php
中的默认设置。在.env
,将MAIL_ENCRYPTION=null
改为MAIL_ENCRYPTION=tls
,你很高兴。
检查你的.env
文件。
我使用的是mailgun
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=1230
[email protected]
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAILGUN_SECRET=null
我有同样的问题,我的错是MAIL_ENCRYPTION
被错误的输入。