“预期的响应代码250,但代码为”554“,消息”554 5.2.0 STOR EDRV“

I would like to send an email with an attachment. Using smtp.office365.com

IN Production: ubuntu

smtp.office365.com - Laravel 5.

Expected response code 250 but got code "554", with message "554 5.2.0 STOR EDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message.

IN Localhost :

Expected response code 250 but got code "530", with message "530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [xxxxxx.xxxx.PROD.OUTLOOK.COM]"

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=xxx@org.io
MAIL_PASSWORD='xxxxx'
MAIL_ENCRYPTION=tls

For Office 365, From_Email must be the same as the logon user. You are changing the From address, and that is not allowed.

I was using this to test:

Mail::send('welcome',[],function($message){ $message->to('xxxxx@xxxxxx.com')->subject('laravel mail'); });

This code made this error

Swift_TransportException with message 'Expected response code 250 but got code "554"

I added a from clause that matched my config in .env

Mail::send('welcome',[],function($message){ $message->from('xxxxx@xxxxxxx.com')->to('xxxxx@xxxxxx.com')->subject('laravel mail'); });

I got the email.

Change your setting in mail.php file

'host' => env('MAIL_HOST', 'your-mail-host'),
  'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'your-mail@host.com'),
        'name' => env('MAIL_FROM_NAME', 'Your User Name'),
    ],