我有一份工作,负责提取 CSV 文件并通过外部邮件服务发送它们。一切似乎都很好,除了一个例外:我发现 Windows 样式的 CRLF CSV 文件被进程破坏了,当我在邮件客户端中打开它们时,它们在每行的末尾有 3 个 0x0A 字符。
我认为强制对文件进行 base64 编码很容易,但尽管从可编程性的角度来看,s-nail 应该是一辆法拉利,但我找不到油门踏板。使用 mime 设置,我可以更改内容类型,但是将有效负载设置为 base 64 并没有发生。
echo "CSV files attached:" | s-nail -vv -Smimetypes-load-control -X'mimetype "application/octet-stream csv"' -r [email protected] -s "Your CSV file" -a /data/review/fun.csv -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="[email protected]" -S smtp-auth-password="yourmom" -S smtp="corgibutts.com:587" "[email protected]"
有谁知道如何做到这一点?
我发现 mac/unix 行尾没有被破坏,并且已经切换到那些可以接受它的人。
作者将此发布到他的邮件列表以回应我的问题,该补丁应该在大约 3 个月后广泛可用:
他的邮件列表中有对话,我还没有看到他的最新回复,但最终应该可以在 base64 编码线程下找到:
https://lists.sdaoden.eu/pipermail/s-mailx/2022-September/thread.html