laravel5.4 傳送SMTP郵件
Lumen / Laravel 5.4 使用網易郵箱 SMTP 傳送郵件
獲取網易郵箱的伺服器和授權碼:
登入網易郵箱 (http://mail.163.com/),
-
- 獲取伺服器地址:
點選【設定】 > 【POP3/SMTP/IMAP】:
- 獲取伺服器地址:
伺服器地址:
POP3伺服器: pop.163.com
SMTP伺服器: smtp.163.com
IMAP伺服器: imap.163.com
-
- 獲取客戶端授權密碼
授權碼
授權碼是用於登入第三方郵件客戶端的專用密碼。
適用於登入以下服務: POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務。
點選【設定】 > 【客戶端授權密碼】
點選【開啟】, 設定一個授權碼, 比如本例中將授權碼設定為: mailPASSWORD
配置 env 檔案:
在配置檔案 .env
檔案,新增以下配置:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME[email protected]163.com
MAIL_PASSWORD=mailPASSWORD
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS[email protected]163.com
MAIL_FROM_NAME=cnwytnet
Lumen 專案
由於 Lumen 是簡化版的 Laravel, 需要增加以下發郵件的模組。
- 需要新增
illuminate/mail
修改composer.json
檔案中 require 部分配置如下:
"require": {
"php": ">=5.6.9",
"laravel/lumen-framework": "5.4.*",
"vlucas/phpdotenv": "~2.2",
"guzzlehttp/guzzle": "^6.2",
"predis/predis": "^1.1",
"illuminate/redis": "^5.4",
"illuminate/mail":"5.4.*"
}
執行 composer up
.
- 需要增加mail.php配置檔案:
確保Luemn專案中存在 app/config/mail.php
配置檔案。
若不存在可以從 Laravel 程式碼中複製一份。
建立發郵件指令碼
- 建立指令碼檔案
app/Console/Command/SendMailCommand.php
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Mail;
classSendMailCommandextendsCommand{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'demo:SendMail';
/**
* The console command description.
*
* @var string
*/
protected $description = '命令列-測試指令碼-SendMail';
/**
* constructor
*/
public function__construct(){
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public functionhandle(){
$content = '這是一封來自Laravel的測試郵件.';
$toMail = '[email protected]';
Mail::raw($content, function($message)use($toMail){
$message->subject('[ 測試 ] 測試郵件SendMail - ' .date('Y-m-d H:i:s'));
$message->to($toMail);
});
}
}
- 將指令碼檔案加入到 app/Console/Kernel.php 中:
protected $commands = [
Commands\SendMailCommand::class, //測試發郵件指令碼
];
執行發郵件操作
- 檢視指令碼, 可以看到我們新加的指令碼命令
demo:SendMail
:
$ php artisan
demo
demo:SendMail 命令列-測試指令碼-SendMail
- 執行傳送郵件指令碼:
$ php artisan demo:SendMail
不出意外的話,郵件傳送成功。檢視發件人的發件箱,或者檢視收件人的收件箱,確認一下吧。
其他
- 郵件地址
MAIL_FROM_ADDRESS
必須和MAIL_USERNAME
一致,否則報錯:
[Swift_TransportException]
Expected response code 250 but got code "553", with message "553 Mail from must equal authorized user"
- 不填授權碼
MAIL_PASSWORD
或者MAIL_PASSWORD
錯誤,報錯:
[Swift_TransportException]
Failed to authenticate on SMTP server with username "cnwytnet@163.com" using 2 possible authenticators
可以將郵件驅動改成 MAIL_DRIVER=log
, 就可以在本地日誌中看到郵件內容了,這在測試的時候會很有用。
比如,在配置.env
中,修改郵件驅動為MAIL_DRIVER=log
,將會把郵件傳送內容儲存到 storage/logs/laravel.log
中。 內容如下:
[2017-04-01 06:12:19] local.DEBUG: Message-ID: <727877e080177bbb349b98a869f5b20f@swift.generated>
Date: Sat, 01 Apr 2017 06:12:19 +0000
Subject: [ =?utf-8?Q?=E6=B5=8B=E8=AF=95?= ] SendMail - 2017-04-01 06:12:19
From: SendMailTEST <[email protected]163.com>
To: wangtom365@qq.com
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
這是一封來自Laravel的測試郵件.
END.
參考連結:
https://laravel.com/docs/5.4/mail
http://laravelacademy.org/post/1986.html
相關推薦
laravel5.4 傳送SMTP郵件
Lumen / Laravel 5.4 使用網易郵箱 SMTP 傳送郵件 獲取網易郵箱的伺服器和授權碼: 登入網易郵箱 (http://mail.163.com/), 獲取伺服器地址: 點選【設定】 > 【POP3/SMTP/IMAP】:伺服器地址: POP
vs2003 和vs2005下的傳送SMTP郵件 (downmoon原創)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
利用Guzzle實現另一種PHP異步發送郵件(laravel5.4)
dot 博文 接下來 lar 時間 重點 5.4 targe 占用 前言:第二種實現方法 方法的思路: 此方法的實現需要借助Guzzle這個PHP的HTTP客戶端,用來輕而易舉地發送請求,並集成到我們的WEB服務上(laravel中如何引入guzzle不多說) 使用該方
SMTP 通過 ssh 通道傳送垃圾郵件
通過SSH隧道傳輸SMTP 根據設計,我們不允許校外機器使用我們的SMTP伺服器。如果我們允許它,我們將允許任何和所有使用我們的SMTP伺服器來分發垃圾郵件。但是也可以通過我們的SMTP伺服器傳送郵件,這種機制稱為SMTP隧道。 Linux說明 1.在Linux
Log4j2配置SMTP郵件實現郵件傳送
大綱: 官網配置資訊 實際使用 一、官網配置資訊 官網SMTPAppender配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="
java通過SMTP傳送QQ郵件的完全步驟
轉自: https://blog.csdn.net/qq422733429/article/details/51280020 java通過SMTP傳送QQ郵件的完全步驟 首先,我們需要開啟QQ郵箱的SMTP服務,因為QQ郵箱對於一般的使用者都是預設關閉SM
使用SMTP傳送電子郵件
描述SMTP的基本操作,有如下常見的情景。假如Alice想給Bob傳送一封簡單的ASCII報文: 1)Alice啟動她的郵件代理伺服器並提供Bob的郵件地址(例如:***@163.com),撰寫郵件,通過使用者代理髮送該郵件。 2)Alice的使用者代理把報文傳送給Ali
從零構建SMTP郵件傳送類
從零構建SMTP郵件傳送類 從零構建SMTP郵件傳送類 SMTP連線和傳送過程如下 SMPT協議常用命令 下面開始我們的整體構建一個簡單的SMTP郵件傳送類 下面附上原始碼註釋
CMD下利用命令列傳送SMTP協議郵件
開啟CMD,連線郵件伺服器,CMD下輸入:telnet smtp.163.com 25後回車,25為埠號,預期返回:220 163.com Anti-spam GT for Coremail System (163com[20141201]) 向伺服器表明身份,繼續輸入:helo 163.com,預期返回
使用JavaMail進行簡單SMTP郵件傳送測試,從網易郵箱傳送到QQ郵箱
===========TLS版本=========== 本文使用的JavaMail版本為1.5.2 import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Messa
Python SMTP傳送QQ郵件
1、QQ郵箱開通SMTP許可權,並獲取授權碼 QQ郵箱---->設定---->賬戶---->開啟服務---->IMAP/SMTP服務---->獲取授權碼 傳送方和接收方都必須開通 2、傳送純文字郵件: import smtplib fro
C# 網路程式設計之基於SMTP傳送電子郵件
本文主要講述基於C#網路程式設計的傳送郵件的程式設計,郵件傳送功能是基於郵件協議的,常見的電子郵件協議有SMTP(簡單郵件傳輸協議)、POP3(郵局協議)、IMAP(Internet郵件訪問協議),文章主要參考周存傑的《C#網路程式設計例項教程》.這也是最後
ASP.NET 傳送電子郵件 smtp
(1)POP3和SMTP伺服器是什麼? POP3 用於接收電子郵件; SMTP 用於傳送電子郵件;詳細介紹自行谷度。 (2) 名稱空間 using System.Net.Mail; 使用ASP.NET傳送電子郵件,需要引用Syste
centos 6.8配置qq smtp郵件傳送
沒有域名嚴重的郵箱容易被伺服器認為是垃圾郵件,所以在伺服器中配置了qq郵件 yum install mailx vi /etc/mail.rc 新增 set from=****@qq.com set smtp=smtps://smtp.qq.co
十:搭建Jenkins+Jmeter+Ant自動化整合環境(4)---新增郵件傳送功能
1、在系統設定中找到Jenkins Locaction項填入Jenkins URL和系統管理員郵件地址,系統管理員郵件地址一定要配置,否則發不了郵件通知。因為郵件通知都是由系統管理員的郵箱發出來的2、按照上圖配置的同時,要去自己的開啟SMTP服務,並生成授權碼3、1-2步完成
Spring 4傳送HTML/純文字郵件並攜帶附件
applicationContext檔案配置內容如下: <bean id="emailTemplate" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property
linux下設定smtp傳送163郵件
之前公司每日報告是通過qq郵箱傳送的,最近每天晚上傳送郵件時,smtp.qq.com總出問題,決定換到126上 1.126郵箱預設不開啟smtp服務,需要在網頁端開啟,期間有個手機驗證 注意等下SMTP配置的密碼為客戶端授權密碼 2.修改/etc/mail.rc 在檔
laravel5.2傳送郵件
在配置檔案.env中修改配置 列如用QQ 發郵箱 MAIL_DRIVER=smtp MAIL_HOST=
傳送自動郵件時Could not connect to SMTP host: 10.1.1.195, port: 25;報錯的解決方法
最近在測試公司內部系統自動傳送郵件功能時,一直在報錯: javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.MessagingException: Coul
JavaMail使用SMTP協議傳送電子郵件(詳解)
package cn.outofmemory.javamail; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import j