skip to Main Content

ISo i have a SMTP Server come with the hosting server, already use the host, port, username, password, etc correctly. The email is sending, but returns no error. Its working in mailtrap. I use beautymail for sending the email. The configuration is correct based on my cpanel site.

My .env

MAIL_DRIVER=smtp
MAIL_MAILER=smtp
MAIL_HOST=mail.(myweb).com
MAIL_PORT=465
MAIL_USERNAME=cs@(myweb).com
MAIL_PASSWORD=(mypass)
MAIL_FROM_ADDRESS=no-reply@(myweb).com
MAIL_FROM_NAME=(myname)
MAIL_ENCRYPTION=ssl

My mail.php file (might be usefull?)

<?php

return [

/*
|--------------------------------------------------------------------------
| Default Mailer
|--------------------------------------------------------------------------
|
| This option controls the default mailer that is used to send any email
| messages sent by your application. Alternative mailers may be setup
| and used as needed; however, this mailer will be used by default.
|
*/

'default' => env('MAIL_MAILER', 'smtp'),

/*
|--------------------------------------------------------------------------
| Mailer Configurations
|--------------------------------------------------------------------------
|
| Here you may configure all of the mailers used by your application plus
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
| Laravel supports a variety of mail "transport" drivers to be used while
| sending an e-mail. You will specify which one you are using for your
| mailers below. You are free to add additional mailers as required.
|
| Supported: "smtp", "sendmail", "mailgun", "ses",
|            "postmark", "log", "array"
|
*/

'mailers' => [
    'smtp' => [
        'transport' => 'smtp',
        'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
        'port' => env('MAIL_PORT', 587),
        'encryption' => env('MAIL_ENCRYPTION', null),
        'username' => env('MAIL_USERNAME'),
        'password' => env('MAIL_PASSWORD'),
        'timeout' => null,
    ],

    'ses' => [
        'transport' => 'ses',
    ],

    'mailgun' => [
        'transport' => 'mailgun',
    ],

    'postmark' => [
        'transport' => 'postmark',
    ],

    'sendmail' => [
        'transport' => 'sendmail',
        'path' => '/usr/sbin/sendmail -bs',
    ],

    'log' => [
        'transport' => 'log',
        'channel' => env('MAIL_LOG_CHANNEL'),
    ],

    'array' => [
        'transport' => 'array',
    ],
],

/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all e-mails sent by your application to be sent from
| the same address. Here, you may specify a name and address that is
| used globally for all e-mails that are sent by your application.
|
*/

'from' => [
    'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
    'name' => env('MAIL_FROM_NAME', 'Example'),
],

/*
|--------------------------------------------------------------------------
| Markdown Mail Settings
|--------------------------------------------------------------------------
|
| If you are using Markdown based email rendering, you may configure your
| theme and component paths here, allowing you to customize the design
| of the emails. Or, you may simply stick with the Laravel defaults!
|
*/

'markdown' => [
    'theme' => 'default',

    'paths' => [
        resource_path('views/vendor/mail'),
    ],
],

];

Been searching around but nothing working for me, thankyou…

Outgoing Server (SMTP): mail.(myweb).com
with Port: 465

EDIT: Additional info, everything works when i manually set the email in outlook. The email is sended, and the inbox works properly. And some info might be usefull below

Username:   cs@(myweb).com
Password:   Use the email account’s password.
Incoming Server:    mail.(myweb).com
IMAP Port: 993 POP3 Port: 995

Outgoing Server:    mail.(myweb).com
SMTP Port: 465

2

Answers


  1. Chosen as BEST ANSWER

    Solved!

    After long discussion with my hosting support, the main problem is that i use different email address when sending the email. The email address is supposed to be same as the SMTP username ([email protected])

    Before

    Route::get('/test', function()
    {
        $beautymail = app()->make(SnowfireBeautymailBeautymail::class);
        $beautymail->send('email.welcome', [], function($message)
        {
            $message
                ->from('[email protected]')
                ->to('[email protected]', 'Customer Test')
                ->subject('Welcome!');
        });
    
    });
    

    To

    Route::get('/test', function()
    {
        $beautymail = app()->make(SnowfireBeautymailBeautymail::class);
        $beautymail->send('email.welcome', [], function($message)
        {
            $message
                ->from('[email protected]')
                ->to('[email protected]', 'Customer Test')
                ->subject('Welcome!');
        });
    
    });
    

    You can refer to @Akhtar Munir answer for SMTP Setting in .env

    Thank you for all your replies guys. Appreciate it.


  2. If you are using secure mail setting then try this

    MAIL_DRIVER=smtp
    MAIL_HOST=mail.(myweb).com //MAIL_HOST=myweb.com
    MAIL_PORT=465
    MAIL_USERNAME=cs@(myweb).com
    MAIL_PASSWORD=(mypass)
    MAIL_ENCRYPTION=ssl
    

    Don’t forget to clear config cache config:clear after making changes in your .env

    If your secure setting has outgoing mail server is only myweb.com then your MAIL_HOST will become MAIL_HOST=myewb.com the rest of your setting is fine, but also make sure to wait for 10 to 15 minutes for incoming mail in your inbox.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search