nette/mail組件親測(cè),laravel版本5.1.33,測(cè)試時(shí)間:2016/8/22
目前存在問(wèn)題(希望親自測(cè)試下,網(wǎng)上找了好幾個(gè)解決方法都不行):
- 使用的是163郵箱,但是不能給qq郵箱發(fā)送郵件(報(bào)554錯(cuò)誤),測(cè)試了163可以。錯(cuò)誤代碼如下:(去下面的地址看了是垃圾郵件的問(wèn)題,但是不知道怎么解決,加了ssl方式報(bào)錯(cuò)。。。)
SMTP server did not accept . with error: 554 DT:SPM 163 smtp7,C8CowABHpRKEq7pXNF4xDA--.287S2 1471851396,please see http://mail.163.com/help/help_spam_16.htm?ip=114.111.166.251&hostid=smtp7&time=1471851396
- qq郵箱已經(jīng)開(kāi)啟了smtp,但是一直報(bào)530錯(cuò)誤
~如果有哪個(gè)大神知道怎么回事,請(qǐng)發(fā)郵件到我郵箱492406945@qq.com,謝謝!~
1 首先先安裝nette/mail組件
composer require nette/mail(如果沒(méi)有安裝composer,先自己安裝下,網(wǎng)上很多)
2 demo如下
#rootes.php路由
Route::get('/','MailController@index');//訪問(wèn)根目錄,則訪問(wèn)index的方法
Route::post('mail','MailController@postSend');//接受到post表單提交,postSend方法處理
#index.blade.php 提交表單
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>測(cè)試</title>
</head>
<body>
<form class="{{url('mail')}}" action="{{url('mail')}}" method="post">
{!! csrf_field() !!}
郵箱:<input type="text" name="mail" value="">
<input type="submit" value="提交">
</form>
</body>
</html>
#使用命令生成控制器
//php artisan make:controller MailController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Nette\Mail\Message;//需要手動(dòng)添加
use Nette\Mail\SmtpMailer;//需要手動(dòng)添加
class MailController extends Controller
{
//訪問(wèn)表單頁(yè)面
public function index(){
return view('index');
}
/××
×接受表單數(shù)據(jù),發(fā)送郵件
×@param $request 對(duì)象
×只是簡(jiǎn)單測(cè)試,無(wú)返回值,不報(bào)錯(cuò)就是成功
×/
public function postSend(Request $req){
// dd($req->input('mail'));
if($req->input('mail')){
$mail = new Message;
$mail->setFrom('yzj <yzj910420@163.com>')
->addTo($req->input('mail'))
->setSubject('這是一個(gè)email組件測(cè)試')
->setBody("我試一下郵件發(fā)送!");
//自定義發(fā)送郵件
$mailer = new SmtpMailer([
'host' => 'smtp.163.com',
'username' => '你的用戶名',
'password' => '自己設(shè)置的客戶端授權(quán)密碼'
]);
$mailer->send($mail);
}
}
}