我刚刚在linode上为自己安装了新的Ubuntu 10.04 LTS服务器。在以下位置遵循了出色的指示:此处完成一些基本内容的安装,包括postfix。
我试图找出一种方法,将带有附件的电子邮件发送到我的Gmail地址,但找不到方法。已经确认电子邮件可以到达我的Gmail帐户。
最后,我必须使用mutt发送带有附件的电子邮件,SendEmails可能也会做得很好,但是我想知道如何从命令行在postfix中执行相同的操作?
在此先对这个愚蠢的问题表示感谢。
我刚刚在linode上为自己安装了新的Ubuntu 10.04 LTS服务器。在以下位置遵循了出色的指示:此处完成一些基本内容的安装,包括postfix。
我试图找出一种方法,将带有附件的电子邮件发送到我的Gmail地址,但找不到方法。已经确认电子邮件可以到达我的Gmail帐户。
最后,我必须使用mutt发送带有附件的电子邮件,SendEmails可能也会做得很好,但是我想知道如何从命令行在postfix中执行相同的操作?
在此先对这个愚蠢的问题表示感谢。
Answers:
为什么必须postfix
直接?mailx -a
,,mutt
或mutt -a
还将使用该sendmail
界面-除非您为SMTP配置它们。
回声“这是一个测试消息” mutt -s Test -a foo.zip-$ USER
回声“这是一个测试消息” 邮件-s测试-a foo.zip $ USER
(请注意,在bsd-mailx中是该选项-A
。)
无论如何,这是一个“后缀”示例。
替换$USER
,内容类型和文件名以匹配您的环境。示例假定您正在向自己发送消息,并且foo.zip
在当前目录中有一个ZIP文件。
(printf "%s\n" \
"Subject: test" \
"To: $USER" \
"Content-Type: application/zip" \
"Content-Disposition: attachment; filename=foo.zip" \
"Content-Transfer-Encoding: base64" \
"";
base64 foo.zip) | sendmail "$USER"
(创建MIME多部分消息作为练习留给读者。)
mail
我想取决于。它在传家宝邮件中是这样做的。
Postfix是邮件传输代理(MTA)。它的工作是处理邮件的传递:将其拾取并发送到其路线的下一个地点。Postfix是邮政工作人员,其工作是拿一个信封并(在其同事的帮助下)将其携带到收件人。
您要在这里进行的是秘书工作:组装文件以将其放入信封中。那不是Postfix的工作:这是邮件用户代理(MUA)的工作。您可以编写粗略的MUA,就像grawity一样,将其组装成几行,然后在几行shell中制成邮件,但是Mutt确实是完成此任务的好工具。
从命令行,我喜欢使用“ sendemail”,它可以在ubuntu / debian上从命令行安装,如下所示:
apt-get install sendemail
然后,您可以简单地告诉它使用localhost(Postfix)作为MTA。
实际上我只是注意到localhost:25是默认值:
-s SERVER[:PORT] smtp mail relay, default is localhost:25
然后,使用-a标志添加附件:
sendemail -f sender@example.com -t recipient@example.com -m "This is the message" -u "This is the subject" -a file1.zip file2.zip
mail -a foo.zip
不像那样附加foo.zip
到邮件上mutt
。