sendmail 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

sendmail 命令安装:


-bash: sendmail: command not found

#Debian
apt-get install sendmail

#Ubuntu
apt-get install sendmail

#Arch Linux
pacman -S sendmail

#Kali Linux
apt-get install sendmail

#CentOS
yum install sendmail

#Fedora
dnf install sendmail

#Raspbian
apt-get install sendmail

sendmail 命令补充说明:


sendmail 将消息发送给一个或多个收件人,sendmail 会根据需要进行网络转发,以将邮件传递到正确的位置。

sendmail 不能用作用户界面(其他程序提供了用户友好的前端)。sendmail 命令仅用于传递预格式化的消息。

在未指定标志的情况下,sendmail 会读取其标准输入,直到文件末尾或仅包含一个点的一行,然后将找到的消息的副本发送到所有列出的地址。它根据地址的语法和内容确定要使用的网络。

sendmail 命令语法:


sendmail [flags] [address ...]

sendmail 命令备用语法:


还可以使用以下命令以特殊功能调用 sendmail

newaliases
mailq [-v]
hoststat
purgestat
smtpd

sendmail 命令选项:


-bd:以守护进程方式运行指令;
-bD:以前台运行方式运行;
-bi:初始化别名数据库;
-bm:以常规发送电子邮件;
-bp:显示邮件的发送队列;
-C:指定配置文件;
-D:将调试的输出信息保存到日志文件,而不显示在标准输出设备上;
-F:指定邮件发送者全名;
-n:禁止使用邮件别名功能;
-f:指定发件人的名字;
-q:设置处理邮件队列中邮件的时间间隔。

sendmail 命令参数:


邮件地址或 mail folder 中的 local user `user_name`

sendmail 退出状态:


sendmail 返回一个退出状态,描述它的操作。退出代码在下面列出,并在 <sysexits.h>中定义。

# 描述
EX_OK 在所有地址上成功完成。
EX_NOUSER 用户名无法识别。
EX_UNAVAILABLE Catchall表示没有必要的资源
EX_SYNTAX 地址语法错误
EX_SOFTWARE 内部软件错误,包括错误的参数
EX_OSERR 临时操作系统错误,例如“无法分叉”。
EX_NOHOST 无法识别主机名。
EX_TEMPFAIL 消息无法立即发送,但已排队。

sendmail 命令实例:


将包含 message.txt 内容的消息发送到本地用户 user_name 的邮件文件夹:

sendmail user_name < message.txt

从 you@yourdomain.com (假定为此配置了邮件服务器)发送电子邮件到 test@gmail.com,其中包含 `message.txt` 中的消息:

sendmail -f you@yourdomain.com test@gmail.com < message.txt

从 you@yourdomain.com (假设为此配置了邮件服务器)发送电子邮件到 test@gmail.com,其中包含文件 `file.zip`

sendmail -f you@yourdomain.com test@gmail.com < file.zip

sendmail 命令扩展阅读:




sendmail 命令评论