我知道在使用命令行工具(例如sendmail,sendEmail等)发送电子邮件时,您需要指定电子邮件地址,密码和SMTP服务器。在其他语言(例如,使用Python SMTP模块)中也是如此smtplib
。
我想知道为什么我可以只使用默认mail
命令发送电子邮件而无需指定此信息。
前任。如果我运行以下命令,它将通过。
ls | mail <email.address>
mail
是邮件用户代理(MUA)。它是负责向用户提供电子邮件子系统接口的工具之一。例如,您可以使用它来发送和发送电子邮件以及阅读以传统方式发送到系统的消息。它与用户有关,而不与交付有关。您可以在系统上安装许多MUA
sendmail
,exim
,postfix
等都是邮件传输代理(MTA)。这些工具并不关心用户友好性,而是负责发送和接收消息。其中只有一个会出现在系统上。应该配置它以了解如何处理(反垃圾邮件,DKIM,DMARC等),传输(例如,通过智能主机等直接传递)和传递(邮件文件,maildir,单独程序等)。
当您发送带有MUA的消息时,它将消息传递给MTA进行传递
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句