我需要使用脚本定期发送生成的 CSV 文件。我正在使用UUENCODE
和mailx
。
但我需要知道有什么方法/方法可以知道电子邮件发送成功吗?任何形式的确认或反馈或其他东西???
它很可能会报告任何错误。此外,该文件是机密的,不会偏离某些外部路径。
编辑:用于邮寄的代码。
subject="Something happened"
to="na734@company.com"
body="Attachment Test"
attachment=/home/iv315/timelog_file_150111.csv
(cat test_msg.txt; uuencode $attachment somefile.csv) | mailx -s "$subject" "$to"
Run Code Online (Sandbox Code Playgroud)
电子邮件是在计算机之间没有永久、快速的网络连接时设计的,类似于邮政邮件。当您发送电子邮件时,它会被发送到一台服务器,然后服务器将其发送到另一台服务器,依此类推,直到电子邮件到达目的地。最古老的邮件系统有本地传递,然后有系统,其中电子邮件必须指定到达目的地的中继列表,现在电子邮件通过网络自动路由,几乎所有计算机大部分时间都可以相互联系。尽管如此,电子邮件仍然是一种邮件服务,而不是即时消息服务。如果电子邮件在途中延迟,例如由于临时网络中断,中间服务器将保留电子邮件,直到链接恢复。
由于这种设计,电子邮件是异步的。该mailx
命令所做的只是将电子邮件传输到本地MTA。来自mailx
指示成功的返回码表示本地 MTA 已接受发送电子邮件的工作。此时,电子邮件已成功发送。之后,MTA 的工作就是将电子邮件发送到目的地。如果 MTA 无法兑现其交付承诺,则应该向发送电子邮件的用户发送退回邮件。
您无法确定电子邮件是否已发送到收件人的收件箱,即使这样也无济于事(例如,如果电子邮件成功发送,那么存放收件箱的计算机会被火烧毁吗?)。如果您需要知道收件人是否收到了电子邮件,唯一可靠的方法是包含人类可读的说明以确认电子邮件。(有一些方法可以在某些软件中打开电子邮件时自动发送回执,但它们仅适用于兼容软件,并且它们也不可靠,例如如果收件人的计算机在打开电子邮件后立即崩溃。)
知道电子邮件是否已发送并不能告诉您其他人是否能够阅读它。与物理对象不同,电子消息并没有真正“偏离”:它们被复制,如果周围有额外的副本,则无法检测到。如果电子邮件需要保密,请对其进行加密。
归档时间: |
|
查看次数: |
7549 次 |
最近记录: |