Ubuntu中sendmail的安装、配置

因为项目需要一个邮件服务器功能,用已有的企业邮箱又有各种限制,就来捣鼓了下和这个相关的一些东西。一般是有好几个选择,比如Postfix,sendmail,qmail,第一个我之前用过,但是项目需求只有发邮件,也不知怎的就选择了sendmail,事实证明还是不要作,废话不说,结合自己的一些经验总结一下,希望能让大家少踩坑。

一、安装

必装:

  1. sudo apt-get install sendmail
  2. sudo apt-get install sendmail-cf
  3. sudo apt-get install mailutils

可选:

  1. squirrelmail              //提供webmail
  2. spamassassin          //提供邮件过滤
  3. mailman                   //提供邮件列表支持
  4. dovecot                   // 提供IMAP和POP接收邮件服务器守护进程
  5. sharutils
                     // 提供带附件的功能

终端输入命令:ps aux |grep sendmail

输出如下:

root     20978  0.0  0.3   8300  1940 ?        Ss   06:34   0:00 sendmail: MTA: accepting connections

root     21711  0.0  0.1   3008   776 pts/0    S+   06:51   0:00 grep sendmail

说明sendmail 已经安装成功并启动了

二、配置

(1)/etc/mail/sendmail.mc

(a)配置sendmail可以连接任何服务器

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1‘)dnl 
       修改Addr=0.0.0.0

(b)添加auth配置(注意字符串前面不是单引号,而是键盘中的波浪号键上的符号)

TRUST_AUTH_MECH(`EXTERNAL
DIGEST-MD5 CRAM-MD5 LOGIN PLAIN‘)dnl

define(`confAUTH_MECHANISMS‘, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN‘)dnl

(c)启用access_db和trust_users

添加FEATURE(use_ct_file)

修改FEATURE(`access_db‘,
, `skip‘)dnl为FEATURE(`access_db‘)dnl

(2)/etc/mail/access

将需要使用该邮件服务器的IP按照以下格式加入到该文件中:Connect:your_ip RELAY

然后更新access_db:makemap hash /etc/mail/access.db < /etc/mail/access

(3)/etc/mail/trusted-users

将需要使用该邮件服务器的IP按照以下格式加入到该文件中:一行一个ip

最后生成新的配置文件:

  1. cd /etc/mail
  2. mv sendmail.cf sendmail.cf~      //做一个备份
  3. m4 sendmail.mc > sendmail.cf   //>的左右有空格,提示错误没有安装sendm

为了防止其他邮件服务器将邮件投入垃圾邮件,可以添加spf记录,添加方式是在域名DNS管理里添加一条TXT记录,内容类似于

“v=spf1
ip4:67.202.107.106 -all”,同时修改/etc/host,在127.0.0.1 localhost之后将邮件服务器域名及主机名加进去

三、测试

(1)本机测试

1.一般的邮件: mail [email protected]  Cc 编辑抄送对象,Subject:邮件主题,输入回车,邮件正文后,按Ctrl-D结束

2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 [email protected]

3.以文件内容作为邮件正文来发送: mail -s test [email protected] < test.txt

4.发送带附件的邮件: uuencode 附件名称 附件显示名称 | mail -s 邮件主题 发送地址

例如: uuencode test.txt test.txt | mail -s Test [email protected]

(2)其他机器测试

# -*- coding: UTF-8 -*-

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

if __name__ == "__main__":

to = "to email addr"

me = "your email addr"

content = "test"

msg = MIMEMultipart(‘alternative‘)

msg[‘Subject‘] = "test"

msg[‘From‘] = me

msg[‘To‘] = to

part2 = MIMEText(content, ‘html‘,_charset=‘utf-8‘)

msg.attach(part2)

try:

server = smtplib.SMTP(your email server)

server.sendmail(me, to, msg.as_string())

server.quit()

except Exception, e:

print e

时间: 2024-10-10 08:06:40

Ubuntu中sendmail的安装、配置的相关文章

Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现

一.安装软件包 ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包. 必需安装的两个包: sudo apt-get install sendmail sudo apt-get install sendmail-cf 安装工具包: Ubuntu下使用最常用的mail功能,需要安装mailutils, 安装命令:sudo apt-get install mailutils 使用带附件的功能,则还需要安装sharutils, 安装命令:sudo apt

ubuntu中VNC的安装配置笔记

使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的远程桌面软件是vnc,vnc分为服务器端和客户端,下面先讲讲vnc服务器端的安装与配置. 安装VNC服务器端 ubuntu中vnc服务器端的安装很简单,运行如下命令: $ sudo apt-get install vnc4server安装完成后第一次运行要求设置密码. 设置VNC登录密码 $ vnc

ubuntu中的django安装配置与操作

1 在对django安装(http://www.maiziedu.com/course/others/307-3024/)前,我们要确保python软件已经安装,ubuntu中默认有安装的.我们只需要安装django即可,解压django压缩文件,进入解压后的文件夹,运行,python setup.py install即可安装django到python中. 2 创建django项目,首先在任意位置创建文件夹,这里是在python用户下创建work文件夹,接着进入work运行一下命令即可创建dja

Ubuntu中Samba的安装配置和使用

Samba服务在Ubuntu服务器版本中默认并没有安装. 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba#sudo apt-get install smbclient 2. Samba服务器的启动.关闭和重启 启动Samba服务器只需执行如下命令:#sudo /etc/init.d/samba start 关闭Samba服务器:#sudo /etc/init.d/samba stop 重新启动Samba服务器:#sudo

Ubuntu中Samba的安装配置和使用[图文]

Samba服务在Ubuntu服务器版本中默认并没有安装. 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba#sudo apt-get install smbclient 2. Samba服务器的启动.关闭和重启 启动Samba服务器只需执行如下命令:#sudo /etc/init.d/samba start 关闭Samba服务器:#sudo /etc/init.d/samba stop 重新启动Samba服务器:#sudo

Ubuntu中Nginx的安装与配置

Ubuntu中Nginx的安装与配置 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 2.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl 可以对perl支持. (2)通过CGI来实现,这个就好比之前per

Ubuntu下bochs的安装配置

目前市面上流行的全虚拟化PC仿真软件系统主要有三种:VMware公司的VMware Workstation软件.Microsoft公司的Virtual PC以及开放源代码的Bochs.这3种软件都可以虚拟或仿真Intel x86硬件环境,可以让我们在运行这些软件的系统平台上运行多种其它的"客户"操作系统. 就使用范围和运行性能来说,这3种仿真软件有一定的区别.Bochs仿真了x86的硬件环境(CPU的指令)及其外围设备,因此很容易被移植到很多操作系 统上或者不同体系结构的平台上.由于主

Ubuntu Kylin 14.04 安装配置 jdk、eclipse、tomcat 通用

一.安装jdk 1)首先去sun官网下载jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意下载的是tar.gz结尾的文件,例如:jdk-7u21-linux-i586.tar.gz 2)下载之后,打开终端使用命令进行解压: sudo tar -zxvf jdk-7u21-linux-i586.tar.gz 回车后需要输入登陆密码,注意输入的密码是看不到的,你输入后回车就行 我下载的jdk是:jdk-7

Ubuntu Server 13.10 安装配置图解教程

一.Ubuntu Server 13.10系统安装 Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 13.10的详细安装过程. 附Ubuntu Server 13.10系统镜像下载地址: 32位:http://releases.ubuntu.com/13.10/ubuntu-13.10-server-i386.iso 64位:http://releases.ubuntu.com/13.10/ubuntu-13.10-serv