Verification Email Cannot send.
-
.env
MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=0b6ed7r4ea7df0 MAIL_PASSWORD=a67eftdb612563 MAIL_ENCRYPTION=tls
config > mail.php
'host' => env('MAIL_HOST', 'smtp.mailtrap.io'),
Inside Admin > Configure > Customer > Allow Email Verification -> 'YES'
When I register new customer, flash message display like
Account created successfully, but verification e-mail unsent
and when I try to login then flash come again likeverify your email account first
What did I missed? or Mailtrap.io is not possible?
I only tried in mailtrap
Thanks in advance
-
Hi @valpuia
If you are using the config:cache command during deployment, you must make sure that you are only calling the env function from within your configuration files, and not from anywhere else in your application.
But for a quick fix this will do:
php artisan config:clear
But i used your mail configuration in my application, then given errors occur - https://prnt.sc/pxanad
Kindly check your configuration from mailtrap and you can use it.
Thanks
-
@rahul You got error because I regenerate mailtrap credentials, however I did
php artisan config:clear
andphp artisan config:cache
but still cannot send email like below image
-
-
@rahul I run
php artisan config:clear
only but still got the same issue. -
-
@rahul
When I clickresend email verification
then I got like below image
-
@rahul
I clear the browser, then runconfig:clear
but still got same issue. Any other Idea to send verification email?
Thanks -
Hi @valpuia
Open your Customer package, in this package's mail folder, you can find a file called ' VerificationEmail.php'. Replace the below code there.
<?php namespace Webkul\Customer\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; use Config; /** * Verification Mail class * * @author Rahul Shukla <[email protected]> * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class VerificationEmail extends Mailable { use Queueable, SerializesModels; public $verificationData; public function __construct($verificationData) { $this->verificationData = $verificationData; } /** * Build the message. * * @return \Illuminate\View\View */ public function build() { return $this->to($this->verificationData['email']) ->from(Config::get('mail.from.address')) ->subject(trans('shop::app.mail.customer.verification.subject')) ->view('shop::emails.customer.verification-email')->with('data', ['email' => $this->verificationData['email'], 'token' => $this->verificationData['token']]); } }
Thanks
-
I can get email now, thanks @rahul
-
@rahul said in Verification Email Cannot send.:
return $this->to($this->verificationData['email']) ->from(Config::get('mail.from.address')) ->subject(trans('shop::app.mail.customer.verification.subject')) ->view('shop::emails.customer.verification-email')->with('data', ['email' => $this->verificationData['email'], 'token' => $this->verificationData['token']]);
@rahul I am using Bagisto v1.1.2 and facing same issue in production (works fine in dev env).
I checked the VerificationEmail.php and above changes u suggested are not there. Wondering whether changes u suggested are still valid to fix this issue.