从 Linux 命令行发送邮件

从 Linux 命令行发送邮件

是否可以从 Linux 终端向任何 Gmail 帐户发送邮件。

如果可能的话,那么需要什么配置。

我尝试使用 mailx 和 sendmail,但是不起作用。

我也尝试过这样的

echo "test" | mutt -s this-is-my-subjest [email protected]

但没用……

我正在使用 CentOS 6.2

答案1

我建议使用 sendEmail:

sendEmail-1.56 by Brandon Zehm <[email protected]>

Synopsis:  sendEmail -f ADDRESS [options]

  Required:
    -f ADDRESS                from (sender) email address
    * At least one recipient required via -t, -cc, or -bcc
    * Message body required via -m, STDIN, or -o message-file=FILE

  Common:
    -t ADDRESS [ADDR ...]     to email address(es)
    -u SUBJECT                message subject
    -m MESSAGE                message body
    -s SERVER[:PORT]          smtp mail relay, default is localhost:25

  Optional:
    -a   FILE [FILE ...]      file attachment(s)
    -cc  ADDRESS [ADDR ...]   cc  email address(es)
    -bcc ADDRESS [ADDR ...]   bcc email address(es)
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

  Paranormal:
    -b BINDADDR[:PORT]        local host bind address
    -l LOGFILE                log to the specified file
    -v                        verbosity, use multiple times for greater effect
    -q                        be quiet (i.e. no STDOUT output)
    -o NAME=VALUE             advanced options, for details try: --help misc
        -o message-content-type=<auto|text|html>
        -o message-file=FILE         -o message-format=raw
        -o message-header=HEADER     -o message-charset=CHARSET
        -o reply-to=ADDRESS          -o timeout=SECONDS
        -o username=USERNAME         -o password=PASSWORD
        -o tls=<auto|yes|no>         -o fqdn=FQDN


  Help:
    --help                    the helpful overview you're reading now
    --help addressing         explain addressing and related options
    --help message            explain message body input and related options
    --help networking         explain -s, -b, etc
    --help output             explain logging and other output options
    --help misc               explain -o options, TLS, SMTP auth, and more

对我来说效果很好。请记住在 Gmail 中使用 TLS。您需要提供将发送电子邮件的服务器的详细信息,其中包含以下选项:

    -s SERVER[:PORT]          smtp mail relay, default is localhost:25
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

它对我来说是最好的,因为它允许添加附件并且可以轻松放置在脚本中。

使用示例:

sendEmail -f [email protected] -t [email protected] -s test -m messageBody -s smtp.gmail.com -xu [email protected] -xp xxxxxpass -o tls=auto
Aug 17 16:21:37 z sendEmail[22420]: Email was sent successfully!

答案2

终端程序mail应该可以解决问题。它通常“开箱即用”,允许用户/程序在系统内部本地发送消息。

输入并按回车键。然后输入您的消息并使用 Ctl-D 关闭/发送。mail -s 'subject line' [email protected]

答案3

通常您不需要进行任何特殊配置,centos 默认有一个邮件服务器。

如果我没记错的话,命令是mailto输入信息(发件人、主题等,...)并输入您的文本,当您输入完成后按 ctrl+D,您就会得到 EOT。

请注意,您的邮件服务器将使用您的用户信息,诸如此类,from : user@pcname但我今天没有使用 Linux,所以我无法检查。

希望这会有所帮助。

编辑 :

这里是 O'reilly 手册页的链接:那里

相关内容