发送带有显示 base64 格式的附件 CSV 的邮件

Posted

技术标签:

【中文标题】发送带有显示 base64 格式的附件 CSV 的邮件【英文标题】:Send mail with attachment CSV showing base64 format 【发布时间】:2020-03-17 06:00:11 【问题描述】:

当我在邮件中发送 CSV 附件时,在邮件响应中显示 base64 格式

Mail::send('emails.waitingTime', [], function ($message) use ($email, $subject, $fileName) 
    $message->to($email)->subject($subject)->attach(URL::asset('/'. $fileName))->setContentType('text/csv');
);

显示在邮件中

--_=_swift_1574330801_b65df1604759f4a281a1fd4aab1b757b_=_ 内容类型:文本/csv; name=unifonmitel.csv 内容传输编码:base64 内容处置:附件;文件名= unifonmitel.csv TGlzdGVkLCBBdmcgd2FpdGluZyB0aW1lCkt1bmRlc3VwcG9ydCwgNi43NjU2MjUKU2FsZ3NzdXBw b3J0LCA1LjUKSVQgU3VwcG9ydCwgMi4yCg == --_ = _ swift_1574330801_b65df1604759f4a281a1fd4aab1b757b _ = _-- P>

【问题讨论】:

您的 .csv 文件是否正确? 是的,我还转换 base64 数据以进行测试它显示相同的 csv 文件数据 $fileName 的值是多少? unifonmitel.csv 【参考方案1】:

也许这会对你有所帮助

$subject = 'Email Subject';
Mail::send('emails.notification', ['message' => $message], function ($mail) use ($userEmail, $subject) 
    $mail->from('info@domain.com', 'Domain Name');
    $mail->to($userEmail)->subject($subject);
);

【讨论】:

我需要通过邮件发送 CSV 附件,请查看我的问题【参考方案2】:
Mail::send('emails.waitingTime', [], function ($message) use ($email, $subject, $fileName) 
    $message->to($email)->subject($subject)->attach(URL::asset('/'. $fileName))->setContentType('text/csv');
);

waitingTime.blade

Add something in blade file

【讨论】:

【参考方案3】:

更改您的邮件功能

Mail::send('welcome', [], function ($message) use ($email, $subject, $fileName) 
    $message->to($email)->subject($subject)->attach(URL::asset('/'. $fileName))->setContentType('text/csv');
);

【讨论】:

以上是关于发送带有显示 base64 格式的附件 CSV 的邮件的主要内容,如果未能解决你的问题,请参考以下文章

在 WebSphere SOAP XOP 中,附件引用被替换为附件 base64 值

尽管在标头中发送了 base64,但附件无法识别

从 html 表单发送带有 csv 附件的电子邮件

使用 Groovy 和 Apache commons 从 base64 字符串发送图像附件

在“nodejs”中使用“@sendgrid/mail”发送“base64”电子邮件“附件”时遇到问题

Base64 电子邮件附件未上传