I need to send an email via the mail()
PHP function. I've read somewhere that I have to change driver
parameter in config/mail.php
to sendmail
.
By default, it looks like this:
'driver' => env('MAIL_DRIVER', 'smtp'),
Now, it looks like this:
'driver' => 'sendmail',
Also tried this:
'driver' => 'mail',
But still, the mail()
function doesn't work. What do I need to change?
To do the same as mail() PHP function does, in most cases you should configure Laravel in the following way:
Use sendmail, at .env:
MAIL_DRIVER=sendmail
Host, user, password, port and encryption are not needed.
At this point, you may check if it already works, but sometimes the next step is also needed.
Set a new .env option in config/mail.php:
'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs')
Set the sendmail path in .env. You can check sendmail_path
at phpinfo(), but it's usually this one:
MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'
To use the email server running on localhost
, your .env
file should look like this (The PHP mail
function doesn't need a username or a password)
MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
Then, update the configuration cache:
php artisan config:cache
You have to set your mail Configuration in .env file. Here you have to set all your mail driver and all details. Plase see this documentation https://laravel.com/docs/5.0/mail
You can set your mail configuration .env
file like
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@gmail.com
MAIL_PASSWORD="password"
MAIL_ENCRYPTION=tls
also set configuration in config/mail.php like:
'from' => ['address' => 'youremail@gmail.com', 'name' => 'Test'],
then you can clear the cache:
php artisan cache:clear
php artisan config:cache
php artisan cache:clear
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.