我正在尝试在开发环境中发送带有附件的电子邮件 - 使用mailtrap
进行相同的操作。此附件可以是任何文件类型。但是,我总是收到错误:
Expected response code 250 but got code "502", with message "502 5.5.2 Error: command not recognized
我不知道我在做什么地方和错误,但是我没有达到预期的结果,而是发送带有附件的邮件。
附件文件位于public/email-attachments/
文件夹
这是我到目前为止尝试过的源代码:
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$mailContent = cache('allEmailContents')->first();
return $this->from('welcome@dprefumry.com')
->subject($mailContent->subject)
->view('emails.send')
->attach($mailContent->attachment, [
'as' => str_slug($mailContent->subject),
'mime' => File::mimeType($mailContent->attachment)
])
->with(['mailContent' => $mailContent]);
}
在routes/web.php
文件中:
Route::get('/', function() {
Mail::to('maddy@example.com')
->send(new SendWelcomeEmail());
return view('welcome');
});
我也尝试过旧的发送邮件方式但没有成功:
Route::get('/', function() {
$mailContent = cache('allEmailContents')->first();
$data = $mailContent->toArray();
Mail::send('emails.send', $data, function($mail) use ($mailContent, $data) {
$mail->to('maddy@example.com')->subject($mailContent->subject);
$mail->from('welcome@example.com');
$mail->attach($mailContent->attachment, [
'as' => str_slug($mailContent->subject),
'mime' => File::mimeType($mailContent->attachment)
])
});
return view('welcome');
});
更新1:
这里是.env
文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=49xxxxxxx70
MAIL_PASSWORD=1fxxxxxxxxxx1e
MAIL_ENCRYPTION=null
更新2:
我正在玩文件上传并存储它。然后将该文件称为附件并得出以下结论:
第一。如果我上传文件< 5 MB,文件作为附件发送,没有任何问题。
第二。如果我上传文件> 5 MB,我收到以下错误:
Expected response code 250 but got code "552",
with message "552 5.7.0 Message exceeded max message size of 5242880 bytes"
以防万一,php.ini
我在php.ini
post_max_size = 20000M
upload_max_filesize = 10000M
max_file_uploads = 20
max_execution_time = 600000
请帮助我解决这个问题。任何帮助都非常感谢。