只是想解释有关在 unix 中发送电子邮件的问题(已解决),并且 Outlook 显示在电子邮件中"我们从此邮件中删除了额外的换行符"
我使用数组中的循环发送一封带有文件名的电子邮件,这些文件名枚举如下:
subject="test"
file_index=0
while [ ${file_index} -lt ${#FILES[@]} ]
do
body_message=${body_message}"$(( ${file_index} + 1 )). ${FILES[${file_index}]}n"
file_index=$(( ${file_index} + 1 ))
done
电子邮件输出:
1. File1.txt 2.file.txt file3.txt
输出没有执行隔断线,而是将它们放在一起,Outlook 显示消息"我们从此消息中删除了额外的换行符"
导致 Outlook 中该邮件的问题是$(( ${file_index} + 1 )).
中的行恰好是"."点。
我尝试了相同的方法,但将其更改为".-",并且这种方式可以正常工作,您可以在下面看到它。
subject="test"
file_index=0
while [ ${file_index} -lt ${#FILES[@]} ]
do
body_message=${body_message}"$(( ${file_index} + 1 )).- ${FILES[${file_index}]}n"
file_index=$(( ${file_index} + 1 ))
done
电子邮件输出:
1.- File1.txt
2.- File2.txt
3.- File3.txt
仅使用".-"不会影响这一点,我想了解为什么如果我使用单个点,它会在 Outlook 中显示不良电子邮件。
谢谢。
以 HTML 格式发送邮件 - 这样 Outlook 就不会破坏邮件正文。
至于您的问题,Outlook 用于删除换行符的确切算法没有记录在案,很可能会发生变化。