环境
本机安装sendmail了, 但是没有启动. 其他机器上有mail server, 并且已经把本机加到open relay列表中了, 可以通过该mail server发送邮件。做法如下:1. 安装 sendmail-cf 软件包2. 修改 /etc/mail/submit.mc
1 FEATURE(`msp'', `[127.0.0.1]'')dnl2 修改为3 FEATURE(`msp'', `[Your mail server ip]'')dnl
3. 在 /etc/mail/ 目录下执行 make测试
mail -s ''hello world!'' user1@chxbd.com或mail -s ''hello world!'' user1@chxbd.com < "包含邮件文本内容的文件"
附件1. 安装软件包 sharutils (使用其中的uuencode工具)2. 把要发送的若干附件通过uuencode处理后整合到一个文件中(如attach.tmp)3. 如果同时发送文本内容,把文本内容直接追加到附件文件中。 如果文本与附件交叉追加,只有第一次追加的以邮件正文显示,后续追加的会以txt文件的形式放到附件里。4. 以mail -s ''hello world!'' user1@chxbd.com < attach.tmp 的形式发送邮件在邮件客户端显示时会自动把邮件正文和附件区分开发件人默认的发件人是当前登录用户的名称,如果未设置hostname,将在客户端显示为 user1@localhost.localdomain而被标记为垃圾邮件。解决:1) 设置 hostname 如果 hostname 为 sina.com,则发件人将显示为 user1@sina.com2) 修改 /etc/hosts 在 127.0.0.1 对应的条目中(ipv4),在最前面(localhost.localdomain和localhost前,其中localhost.localdomain必须存在)添加主机名 如: #127.0.0.1 localhost.localdomain localhost 127.0.0.1 126.com localhost.localdomain localhost发件人将显示为 user1@126.com如果 hostname 和 /etc/hosts 文件同时设置,而hostname又未在/etc/hosts中设置,则hostname 优先;如果把自定义的域名和hostname同时设置在 /etc/hosts 中,则使用最前面的那个,如: 127.0.0.1 126.com node1.test.com localhost.localdomain localhost126.com是发件人要显示的域名,node1.test.com是 hostname 命令得到的主机名。如此看来,发件人的域名与 hostname 命令得到的主机名有关,如果 hostname 命令得到的主机名在 /etc/hosts 中没有对应条目,则使用 hostname 得到的主机名,如果设置在了 /etc/hosts 中,则采用对应条目中的第一个主机名/域名。
新闻热点
疑难解答