在Cygwin中使用“email”命令[关闭]

问题描述 投票:3回答:2

我正在尝试使用Cygwin从命令行发送电子邮件。这就是我所说的:

email -f [email protected] -s "This is a test" -b [email protected]

我收到此错误消息:

/bin/sh: /usr/lib/sendmail: No such file or directory

我在/ usr / lib中创建了一个名为“sendmail”的文件夹,现在我得到了这个:

/bin/sh: /usr/lib/sendmail: is a directory

有人可以给我一步一步说明如何从Cygwin发送电子邮件吗?喜欢如何设置它和一切?我到处寻找,我准备把头发撕掉了。

编辑:感谢您的回复。这就是我最终让它发挥作用的方式。

bash.exe -c "echo  -e 'To: [email protected]\nSubject: mySQL Upload\nSQL files from machines uploaded to log table successfully.' | sendmail -f [email protected] [email protected]"

即使Cygwin在我的Windows路径中,也无法识别它,所以我必须直接运行bash.exe并说“将此命令作为Linux命令”。回声就是构建电子邮件本身的内容。 \ n字符将其分为“To”,“Subject”和Body。

email command-line cygwin
2个回答
6
投票

显然,email是一个程序,它允许您提交依赖于另一个程序实际发送消息(Mail Submission Agent)的电子邮件(Mail Transfer Agent)。

我上周在Cygwin上安装了这个。我没有使用email,而是mutt,Cygwin提供的替代品之一(请参阅其package list)。我使用mutt不仅要提交要发送的邮件,还要阅读它;它是Mail User Agent(参见一些screenshots)。

email一样,mutt依靠邮件传输代理来发送邮件,所以我必须安装一个邮件。在Linux上,流行的选择是sendmailpostfix;但他们所做的远远超过你的需要,而且Cygwin没有将它们作为包装提供。它确实提供eximssmtp

我安装了ssmtp包并运行了ssmtp-config实用程序。你必须在这里做出一些决定。您必须知道可以使用哪个SMTP服务器,以及是否需要任何特殊配置才能与之通信。

顺便说一句,ssmtp确实安装了一个名为sendmail的可执行文件,它不是原始的sendmail,但是出于你需要它的目的而表现得像。


1
投票

好吧所以我第一次尝试时并不清楚......我想这是我的错,我会尽力让这个更清楚。

在mail-config中,它会询问sendmail二进制文件。听起来应该是这样的:

Please enter the sendmail command line [/usr/sbin/sendmail -t -i]:

这基本上是询问sendmail二进制文件的安装位置以及我应该传递哪些参数来发送邮件。您的sendmail二进制文件未安装或未安装在您指定的位置。

看看你是否安装了sendmail试试

%sendmail;

如果可行,请找到该二进制文件的路径

%which sendmail; 

如果这不起作用,则不安装sendmail,或者需要将sendmail的位置附加到env路径变量。关于如何进行设置没有正确的答案,但是使这项工作的最低要求是在当前机器上安装sendmail,配置它并将正确的绝对路径传递给mail-config中的邮件程序。

© www.soinside.com 2019 - 2024. All rights reserved.