Outlook 2013 显示"We removed extra line breaks from this message"而使用 "." 在 unix 中发送



只是想解释有关在 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 用于删除换行符的确切算法没有记录在案,很可能会发生变化。

最新更新