Answers:
mail -s subject someone@example.com
输入您的信息,按Ctrl+D
完成
echo This will be the body of the email | mail -s "This is the Subject" destination@example.com
据我所知,有两个程序可以轻松地将您配置为从命令行发送电子邮件的Mac。
我已经为他们两个写了HOWTO:
我建议在两者之中msmtp
。
配置非常复杂,我不确定是否应该在此处复制所有步骤,但是我会提到,如果您使用Homebrew,则可以使用以下命令 安装msmtp
brew install msmtp --with-macosx-keyring
然后剩下的只是设置相关的配置文件
首先是 /usr/local/etc/msmtprc
# Begin msmtprc
# Set default values for all following accounts.
defaults
tls on
logfile ~/.msmtp.log
# A first gmail address
account example@gmail.com
host smtp.gmail.com
port 587
protocol smtp
auth on
from example@gmail.com
user example@gmail.com
tls on
tls_starttls on
# this next line is crucial: you have to point to the correct security certificate for GMail.
# If this doesn't work, check the mstmp documentation
# at http://msmtp.sourceforge.net/documentation.html for help
#
# This next line should all be on one long line:
tls_trust_file /path/to/Thawte Roots/Thawte SSLWeb Server Roots/thawte Premium Server CA/Thawte Premium Server CA.pem
# Set a default account
# You need to set a default account for Mail
account default : example@gmail.com
# end msmtprc
请注意,该tls_trust_file
行应指向您从https://www.thawte.com/roots/index.html下载并安装证书的位置。
我将其放入,~/Dropbox/Thawte Roots
以便可以在所有Mac上使用它。
然后,您需要一个~/.mailrc
文件来说明msmtp二进制文件的位置。如果使用brew
它/usr/local/bin/msmtp
,则文件将如下所示:
set sendmail="/usr/local/bin/msmtp"
最后但至关重要的一步是确保您的钥匙串具有与msmtp期望的格式完全相同的信息:
我认为这涵盖了大多数细节。如果需要更多详细信息,请参阅http://www.tuaw.com/2010/05/04/msmtp-a-free-tool-to-send-email-from-terminal/。
example@gmail.com
为您的Gmail或Google Apps电子邮件地址。
~/.msmtprc
发送邮件的最基本方法是与提供商/网络的smtp服务器进行telnet会话。与服务器联系后,在执行每个命令之后,服务器将以“ 250 OK”之类的答案接受该命令,如果不接受则显示错误消息。
所有详细信息都可以在RFC2821-简单邮件传输协议Google中找到。这种基本方式非常适合测试发送邮件为什么会出错的问题,但是我认为编写完整的证明非常复杂。
首先,通过启动Terminal在计算机上获得命令行界面。然后一个接一个地继续以下命令。
打开一个到您的提供商/网络的smtp服务器端口25的telnet会话
telnet name_or_ip_of_smtp_server 25
打个招呼,加上您的提供商/网络的互联网名称,例如abc.com
EHLO name_of_your_network
需要from =返回地址,<和>是命令的一部分
MAIL FROM:<your_email_adress>
指定一个或多个目标,<和>是命令的一部分
RCPT TO:<destination_email_address>
RCPT TO:<second_destination_email_address>
RCPT TO:<etc_destination_email_address>
告诉服务器您要开始发送数据
DATA
现在服务器应该回答您可以开始发送邮件并进入数据模式
your data
more data
etc
现在在一行上仅用点字符完成数据
.
服务器返回到命令模式,因此您可以退出
QUIT
这对我有用,它是在考虑Lion的情况下编写的,但适用于Mountain Lion。顺便说一句,这是使用Gmail,所以如果您不...
您无需下载任何内容!(只需设置一个Gmail帐户)
http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/
为Gmail SMTP配置Postfix编辑文件/etc/postfix/main.cf
sudo vim /etc/postfix/main.cf
并在注释掉的中继主机下面添加以下内容:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_sasl_mechanism_filter = plain
如果尚不存在,则生成sasl_password
sudo vim /etc/postfix/sasl_passwd
并输入以下内容:
[smtp.gmail.com]:587 username@gmail.com:password
运行以下命令
sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo launchctl stop org.postfix.master
sudo launchctl start org.postfix.master
您完成了……。
现在,您应该能够从命令行中发送电子邮件,例如,将目录的内容作为树发送到电子邮件地址
tree /var/www/somefolder | mail -s "contents" your@yourdomain.com
mtcmail是另一种选择:http : //www.macupdate.com/app/mac/33505/mtcmail-cli。
[忽略此附加文本。新增原因:正文必须至少包含30个字符;您输入了27。]