天天看點

laravel中發送郵件

Laravel 提供了非常簡單的郵件發送 API,但是文檔卻不是太清晰,再加上它采用傳遞閉包(回調函數)的方式調用,導緻郵件發送的使用門檻偏高。

Laravel 4 和 Laravel 5 的郵件發送使用方式完全一緻。Laravel 5 的郵件發送中文文檔在:http://laravel-china.org/docs/5.0/mail

本文中,我将以 163 郵箱為例,展示如何用 Laravel 内置的郵件發送類來發送郵件。

配置

修改郵件發送配置。4.2 在 app/config/mail.php,5 在 config/mail.php,修改以下配置:

'host' => 'smtp.163.com',
'port' => 25,
'from' => array('address' => '***@163.com', 'name' => 'TestMail'),
'username' => '***@163.com', // 注意,這裡必須和上一行配置裡面的郵件位址一緻
'password' => '****',      

發送

在控制器或者模型裡,調用以下代碼:

$data = ['email'=>$email, 'name'=>$name, 'uid'=>$uid, 'activationcode'=>$code];
Mail::send('activemail', $data, function($message) use($data)
{
    $message->to($data['email'], $data['name'])->subject('歡迎注冊我們的網站,請激活您的賬号!');
});
           

郵件視圖為 views/activemail.blade.php:

<!doctype html>
<html >
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  </head>
<body>
  <a href="{{ URL('active?uid='.$uid.'&activationcode='.$activationcode) }}" target="_blank" rel="external nofollow"  target="_blank">點選激活你的賬号</a>
</body>
</html>
      

搞定!

第二種方法

https://lvwenhan.com/laravel/436.html

網址

一:修改config裡面的mail.php(隻需要修改一處)

'from' => ['address' => '[email protected]', 'name' => 'jnn'],(誰發的)

二:修改.env檔案

MAIL_DRIVER=smtp

MAIL_HOST=smtp.163.com

MAIL_PORT=25

[email protected]

MAIL_PASSWORD=jnnzqb7821

MAIL_ENCRYPTION=tls

三:視圖

<!doctype html>

<html >

  <head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

  </head>

<body>

  {{$name}},歡迎注冊,請激活您的賬号<br>

  <a href="{{$url}}" target="_blank" rel="external nofollow" >{{$url}}</a>

</body>

</html>

四:控制器

Use:Mail;

//發郵件

     public function emailsmtp(){

      $data=array('name'=>'jnn','url'=>'taobao.com');

Mail::send('emailsmtp', $data, function($message)

{

    $message->to('[email protected]','Jiangnan')->subject('歡迎注冊我 們的網站,請激活您的賬号!');

});

     }