簡體   English   中英

laravel 5.2電子郵件未傳遞也不例外

[英]laravel 5.2 e-mail not delivered no exception

我試圖在laravel 5.2(從5.2升級)中重置密碼,並向我的郵件發送密碼令牌(使用laravels 5.2 new make:auth)。

  1. 將郵件驅動程序設置為日志
  2. 轉到: http:// localhost / public / password / reset
  3. 填寫電子郵件地址,然后單擊“發送密碼重置鏈接”
  4. 電子郵件存儲在日志文件中
  5. 將郵件驅動程序更改為smtp
  6. 運行php artisan config:cache
  7. 再次執行動作2和3
  8. 沒有錯誤/異常顯示
  9. laravel的信息是“我們已經通過電子郵件發送了您的密碼重置鏈接!”

我的.env文件

APP_ENV=local
APP_DEBUG=true
APP_KEY=xxxxxxxxxxxxxxxxxxxxxxxxx

DB_HOST=localhost
DB_DATABASE=xxxxxxxxxx
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=xxxx.xxxxxx.xx
MAIL_PORT=25
MAIL_USERNAME=xxxx@xxxxxx.xx
MAIL_PASSWORD=xxxxxxxxxxxxx
MAIL_ENCRYPTION=tls

我在mail.php中配置了這一行

 'from' => ['address' => 'xxx@xxx.com', 'name' => 'xxx'],

起初它給了例外,因為我沒有使用正確的憑據/設置。 該錯誤消失了。

a)我如何檢查郵件是否已發送? b)我如何檢查未交付的原因? c)我做錯了什么?

我不確定確切的問題是什么,但是我會給您我的工作代碼(也使用5.2),然后您可以檢查我們的代碼之間是否存在不同之處:

.ENV

MAIL_DRIVER=smtp
MAIL_HOST=asmtp.unoeuro.com
MAIL_PORT=587
MAIL_USERNAME=hello@google.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls

確保您的郵件服務器正在使用TLS,或禁用它。 他們通常會告訴他們是否接受tls加密。

mail.php

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'asmtp.unoeuro.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => "hello@google.com", 'name' => "Hello World"],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),

設置帶有控制器的視圖,並在控制器中對其進行硬編碼,以便在您訪問視圖時,將運行以下代碼:(請記住分配$ thename和$ theemail或對其進行硬編碼

use Mail;

$mailvar = ['name' => $thename, 'email' => $theemail];

Mail::send('Mailtemplate.view', ['mailvar' => $mailvar], function ($message) use ($mailvar) {

        $message->from('noreply@google.com', 'google.com');
        $message->to($mailvar['email'], $mailvar['name'])->subject('You recieved a message');

    });

記住要創建視圖Mailtemplate.view,在其中顯示郵件。 您可以在視圖中將$ name和$ email用作變量。

您的mailtemplate應該看起來像這樣:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
    <style type="text/css" media="screen">';

    </style>
</head>

<body>
Name: {{ $mailvar['name'] }}
Email: {{ $mailvar['email'] }}
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM