javascript - 在 base64 中发送更大的图像时,Nodemailer 崩溃
问题描述
我想在电子邮件中嵌入二维码。这是我现在用来添加附件的代码:
mailOptions.attachments = [{
filename: 'image.png',
content: url.split("base64,")[1],
encoding: 'base64'
}];
如果 url 等于:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAAB9JREFUeAFjgIJRwP+BZM4oh/8/GHygIYd8h45yRgEAaHBnmaA4EHkAAAAASUVORK5CYII=";
但是,当我将其更改为 qrcode 时:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAKsSURBVO3BQW7kQAwEwSxC//9yro88NSBIM2sTjIg/WGMUa5RijVKsUYo1SrFGKdYoxRqlWKMUa5RijVKsUYo1SrFGKdYoxRrl4qEkfJNKl4QTlS4JncpJEr5J5YlijVKsUYo1ysXLVN6UhDtUuiS8SeVNSXhTsUYp1ijFGuXiw5Jwh8oTSehUuiS8KQl3qHxSsUYp1ijFGuXij1M5ScJJEjqVv6xYoxRrlGKNcvHHJeFE5SQJkxRrlGKNUqxRLj5M5ZNU7kjCm1R+k2KNUqxRijXKxcuS8E1J6FS6JHQqXRLuSMJvVqxRijVKsUaJPxgkCZ1Kl4QTlb+sWKMUa5RijXLxUBI6lZMk/E8qXRK6JHQqJ0noVLok3KHyRLFGKdYoxRrl4j9TeSIJncoTKl0STlTuUPmkYo1SrFGKNcrFQypdEt6UhCeS0Kl0KneonCThjiR0Kk8Ua5RijVKsUeIPXpSEE5WTJHQqJ0l4QqVLQqdykoROpUvCicqbijVKsUYp1igXH6bSJeFEpUtCp9KpdEk4UXkiCSdJ6FS6JHxSsUYp1ijFGiX+4A9LQqdyRxI6lTuS0Kl0SbhD5YlijVKsUYo1ysVDSfgmlZMknKjckYQ7knCi8knFGqVYoxRrlIuXqbwpCU+odEk4ScI3JaFTeaJYoxRrlGKNcvFhSbhD5X9SOUlCp9IloVPpktCpvKlYoxRrlGKNcjGMSpeEE5UuCScqJyonKp9UrFGKNUqxRrn441S6JNyRhBOVkyR0Kl0S7lB5olijFGuUYo1y8WEq36TSJeEOlS4JnUqn8psUa5RijVKsUS5eloRvSkKn0qm8KQknKp3KNxVrlGKNUqxR4g/WGMUapVijFGuUYo1SrFGKNUqxRinWKMUapVijFGuUYo1SrFGKNUqxRvkHv7QE9MppxbsAAAAASUVORK5CYII=
代码很糟糕,并给我以下错误:
Error: Connection closed
at SMTPConnection.<anonymous> (...\node_modules\nodemailer-smtp-transport\lib\smtp-transport.js:113:29)
...
我相信这是由于二维码较大,然后是第一张图像,但是它仍然相对较小。我尝试了很多方法,但没有什么能给我带来积极的结果。关于如何解决这个问题的任何想法?
解决方案
如果您从物理位置访问图像而不是使用此代码
var mailOptions = {
attachments: [{'filename': 'image.png','path': '\pathtoimagefile\image.png'}]
如果您从代码生成 qrcode
var qr_png = qr.imageSync('string', {
type: 'png'
})
var mailOptions = {
attachments: [{'filename': 'image.png', 'content': qr_png}]
这段代码对我有用
注意:我使用 'qr-image' 将文本转换为二维码。
推荐阅读
- javascript - 在 Nextjs 中未发送响应即可解析 API
- linux - 具有特定持续时间的FFmpeg图像序列组合成视频
- python - 如何禁用 Darkflow YOLOv2 上的图像翻转?
- node.js - npm:为什么像 npm urn 这样的拼写错误会起作用?
- javascript - Javascript:如何获取 VM 文件的来源?
- python - Django:按元素的属性过滤查询集
- python - 如何塑造 TFRecordDataset 以满足模型 API?
- python - 网页抓取问题,如何在一个 html 文件中显示来自 2 个不同站点的数据
- python - Django 告诉我模板不存在
- javascript - 等待它解析promise,然后插入MySQL