I just want to send a laravel by default email verification on another db column laravel by default support email, but I just want to send on temp_email column.
Related
I am trying to configure email-verification on a Laravel 8 application.
When a user registers, the verification email will only send if the email property on my user model is named email (as per the Eloquent ORM).
Is there a way I can change the email property on my user model to something like user_email and still have email verification work?
I followed the instruction of the Laravel documentation 7x for Email Verification.
I didn't do it at the very beginning and before this I made changes to the the users table adding columns like firstnane, familyname, city etc.
Since then I could register correctly without any email verification.
Today I decided to add this functionality but it doesn't work.
The register process is still going on but there is no email sent and the user is directly logged.
I use the
MAIL_MAILER=log
in my .env and other mails are correctly sent and visible in the logs file.
Here is the auth routes
Auth::routes(['verify' => true]);
I have a email_verified_at column in the users table.
Any idea ?
Most likely your User model is not implementing the Illuminate\Contracts\Auth\MustVerifyEmail contract/interface.
use Illuminate\Contracts\Auth\MustVerifyEmail;
...
class User extends Model implements MustVerifyEmail
"Once this interface has been added to your model, newly registered users will automatically be sent an email containing an email verification link." - Laravel 7.x Docs - Email Verification - Model Preparation
Note: I have asked a similar question here: Laravel: Using multiple columns for authentication but this question is referring specifically to Passport.
I have a Laravel 6 application that uses Passport.
In a typical application, the user would just specify their email, where the email is unique.
However, in my application, I have 2 columns in the User model that is used to authenticate users.
app_id (usually sent as a header)
email
unique(app_id, email)
So in order to login, we need to pass both an app_id and an email, along with the password. The same email could be used across different app_ids.
How would I achieve this?
I am new to laravel, I am working on project in which I've been asked to use a custom database template to send reset password email how can I update the existing email template to use a template in database to send the email.
The password reset email is found in the view:
resources\views\auth\passwords\reset.blade.php
Replace the HTML in that view with a raw database call to get your template content.
Also, you might want to check out Laravel - How to pass variable to reset password template? about passing additional data to the reset password email.
Is it possible to change user data (username, name....) before activation email is sent to the user?
I want to use email as username, so I need to copy value of email field to the username field.
When I have used onUserAfterSave event I have been able to update username value to email value, but activation email is sent already before this event....
I have tried to use onUserBeforeSave event but without success....
Thanks for help!
So why dont you store e-mail as user name directly on onuserbeforesave events or similar event. So that you don't need update table & i think activation email will directly get email as user name.