如何从命令行通过后缀发送带有附件的电子邮件?


10

我刚刚在linode上为自己安装了新的Ubuntu 10.04 LTS服务器。在以下位置遵循了出色的指示:此处完成一些基本内容的安装,包括postfix。

我试图找出一种方法,将带有附件的电子邮件发送到我的Gmail地址,但找不到方法。已经确认电子邮件可以到达我的Gmail帐户。

最后,我必须使用mutt发送带有附件的电子邮件,SendEmails可能也会做得很好,但是我想知道如何从命令行在postfix中执行相同的操作?

在此先对这个愚蠢的问题表示感谢。

Answers:


14

为什么必须postfix直接?mailx -a,,muttmutt -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 -a foo.zip不像那样附加foo.zip到邮件上mutt
2013年

@ nicolai.rostov:mail我想取决于。它在传家宝邮件中是这样做的。
user1686

7

Postfix是邮件传输代理(MTA)。它的工作是处理邮件的传递:将其拾取并发送到其路线的下一个地点。Postfix是邮政工作人员,其工作是拿一个信封并(在其同事的帮助下)将其携带到收件人。

您要在这里进行的是秘书工作:组装文件以将其放入信封中。那不是Postfix的工作:这是邮件用户代理(MUA)的工作。您可以编写粗略的MUA,就像grawity一样,将其组装成几行,然后在几行shell中制成邮件,但是Mutt确实是完成此任务的好工具。


4

从命令行,我喜欢使用“ 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

1

mailx 12.4有一个附加文件的选项:

-a 文件
    将给定文件附加到消息中。

例如:

[gawad @ centos Desktop] $ mail -s“ pine” -a pine.rpm.gz root @ localhost Enter
这是您要求的pine软件Enter
Enter
EOT
[gawad @ centos桌面] $ 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.