141Linux 安装及配置邮件服务器
效果截图
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 DJBernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 070 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai迅速成为了 Internet 上最有名的 MTA,使用者众。
postfix :postfix如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。
邮件服务器基本的工作原理
MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。
MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。
MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。
MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。
邮件中继:
SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。
SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。
注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。
安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过 Courier Authdaemon 模块的。下图表示出了这个过程:
出现安装界面时,首先按下 <tab> 键切换到确定,然后按下回车。
安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。
使用 vim 编辑配置文件:
大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanloucom。
然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。
之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。
编辑完成后按下 Esc 键,输入 :wq 保存退出。
此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。
我们编写之前设置的 virtual文件,这些邮箱地址是用来传送邮件的。
在这个文件里,我们将设置一个表,对应相关的邮件地址。
完成后保存关闭文件。
我们可以通过调用下面这个命令来实现我们的映射:
接着我们重启 postfix,完成我们的修改:
我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。
写一封邮件
输入如下内容:
其中 -s 参数是指邮件的标题,< 后面是将要发送的邮件内容从 hellotxt 中重定向。这个命令如果正确执行不会有输出。
然后我们切换到 master 用户,查看我们的邮件。
按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。
Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务
Ubuntu 服务器指南-邮件服务-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
如果这两个都不能用,那么可以用 mail命令。 如果你能确认你的邮件服务器支持 8-bit 的字节, 可以直接用 cat <附件文件名 | mail <邮件地址 不过很多邮件服务器不支持 8-bit 字节,所以最好使用 uuencode 命令。 先写好邮件, 比如叫 mymail, 然后 uuencode <附件文件名 <附件文件名 mymail 或者 cat <附件文件名 | uuencode <附件文件名 mymail 然后编辑你的 mymail 文件, 在前面写上信的正文。 然后寄出。 收到信后, 把信中属于 mymail 的部分拷贝出来, 存为 themailuue。如果对方是在 windows 下, 就可以用 winzip 70 解压, 即可得到附件。
如果对方在 linux 下, 可以用 uudecode 还原: uudecode -o <附件文件名 themailuue cat <附件文件名 | mail <邮件地址 如果有多个文件要处理, 那么就重复执行上述步骤, 不过这样收到邮件后对每个邮件需要分别处理。当然压缩一下会得到更好的效果, 这样邮件长度会大大降低。 附件文件名就是压缩后的文件名。 老大,这样不是很麻烦,有没有像这样的 mail -s hello -xx /tmp/ssexe ddd@21com 没有 用pine,很简单的 一般redhat都带 way1: uuencode file1 file1 | mail -s "title" mail@address way2: mutt -s "title" -a /dir/file1 mail@address 上面的方法2会启动编辑器来写正文,也可以先编辑好邮件内容,mailcontenttxt # cat mailcontenttxt | mutt -s "title" -a attachfile1 mail@address 就不会启动编辑器了。 way1: uuencode file1 file1 | mail -s "title" mail@address 执行此命令后没很久都没有反应, way2: mutt -s "title" -a /dir/file1 mail@address 系统中没有mutt这个东东,我的是bsd47 uuencode file1 file1 | mail -s "asdf" ma@asdfcom 没反应? 是不是你的file1太大啦?编码要很久? 我也是从人家那里学到的,而且成功地发送了不下一百封信。
你不需要设置开放25端口。在后台》站长》邮件设置里面设置为
通过
PHP
函数的
sendmail
发送(推荐此方式)
下面的邮件头选择为你系统的版本使用
LF
作为分隔符(通常为
Unix/Linux
主机)
然后在检测上面输入你的测试发件人
可以指定为xxx@baiducom
收件人里面就填你要测试收件的邮箱,如果能收到就代表配置成功。。建议测试不要使用QQ邮箱sendmail这类会被QQ拦截。
1、用的腾讯云服务器,折腾了很多资料,发现改错了。谨记检查端口25开放
2、TP框架用PHPMailer 发送邮件,windows本地测试正常,上传到腾讯云linux服务器就发送不成功:
细节如下: [root@VM_82_192_centos ~]# tail -40 /var/log/maillog
把classphpmailerphp中的$this->mailer = smtp;中的smtp换成大写:SMTP。说是因为qq 163等邮箱需要接受发送过来的大写的SMTP;
发现还是不成功
反过头来检查25端口:
发现没反应:yum重装sendmail,还是同样。直接杀到云服务器哪儿,检查25端口是否开放;泪流满面:赶紧解封。
确认:
OK,测试发送 mail -s '33333333555ksTest mail' 2848278204@qqcom < /etc/passwd
2 配置电子邮件服务
利用电子邮件服务,您可以在计算机中安装一些组件并将该计算机配置为电子邮件服务器。电子邮件服务包括邮局协议 3 (POP3) 服务以及简单邮件传输协议 (SMTP) 服务,分别用于接收和传送电子邮件。为了向用户提供电子邮件服务(如发送和接收电子邮件),管理员可以在服务器上创建一些邮箱。
POP3
POP3 服务是一种用来接收电子邮件的电子邮件服务。管理员可以使用 POP3 服务,在邮件服务器上存储和管理电子邮件帐户。在邮件服务器中安装了 POP3 服务后,用户即可使用支持 POP3 协议的电子邮件客户端(如 Outlook 或 Outlook Express)连接到邮件服务器,并将电子邮件接收到其本地计算机中。POP3 服务与用来发送外发电子邮件的 SMTP 服务结合使用。
SMTP
SMTP 控制将电子邮件经由组织或 Internet 向目标服务器传输和递送的方式。SMTP 在服务器之间接收和发送电子邮件。在安装 POP3 服务时,就会自动在计算机中安装 SMTP 服务以允许用户发送外发电子邮件。当使用 POP3 服务创建域时,还会将该域添加到 SMTP 服务中,以允许该域中的邮箱发送外发电子邮件。邮件服务器中的 SMTP 服务接收传入的邮件,并将该电子邮件传送到邮件存储中。
设置电子邮件服务
要安装电子邮件服务,请按照以下步骤操作:
1
以“Administrator@contosocom”的身份登录到“HQ-CON-DC-01”中。
2
单击“开始”按钮,单击“控制面板”,然后单击“添加或删除程序”。
3
单击“添加/删除 Windows 组件”,选择“电子邮件服务”复选框,然后单击“下一步”。(注意,您可能需要提供安装 CD 才能继续。)
4
在“Windows 组件向导”完成后,单击“完成”,然后关闭“添加或删除程序”屏幕。
要配置电子邮件服务,请按照以下步骤操作:
1
单击“开始”按钮,指向“所有程序”,指向“管理工具”,然后单击“POP3 服务”。
2
在“POP3 服务”下面,在左侧树中单击“HQ-CON-DC-01”。
3
单击“新域”链接,键入“contosocom”作为“域名”,然后单击“确定”。
4
在右窗格中,双击“contosocom”。在“HQ-CON-DC-01”下面,左窗格中的树将展开并显示“contosocom”域。单击“添加邮箱”链接。
5
在“添加邮箱”屏幕上,键入“mike”作为“邮箱名”,清除“为此邮箱创建相关联的用户”复选框,单击“确定”,在出现“POP3 服务”确认屏幕后,再次单击“确定”。
6
再次单击“添加邮箱”链接,重复步骤 5 为“Administrator”创建邮箱。
注意:由于 Active Directory 帐户是在安装电子邮件服务之前建立的,因此,需要对邮箱进行手动配置。如果登录和邮箱名相同,POP3 服务配置将使用关联的电子邮件地址来更新 Active Directory 用户信息。在定义新的邮箱时,POP3 服务可以自动创建用户帐户。
7
最小化“POP3 服务”MMC。
要测试基本电子邮件功能,请按照以下步骤操作:
1
单击“开始”按钮,指向“所有程序”,然后单击“Outlook Express”。
2
在“Internet 连接向导”屏幕上,键入“Contoso Administrator”作为“显示名”,然后单击“下一步”。
3
键入“administrator@contosocom”作为“电子邮件地址”,然后单击“下一步”。
4
在“接收邮件服务器”和“发送邮件服务器”中,键入“HQ-CON-DC-01”,然后单击“下一步”。
5
在“Internet 邮件登录”屏幕上,将登录名更改为“administrator@contosocom”并提供“Administrator”帐户的“密码”,然后单击“下一步”。
6
单击“完成”。
7
单击“发送/接收”按钮,以确保能够与电子邮件服务器成功交互。
8
单击“创建邮件”,将邮件地址指定为“mike@contosocom”,键入“Test Mail”作为“主题”,然后单击“发送”。
9
最大化“POP3 服务”MMC。
10
在右侧的结果窗格的“HQ-CON-DC-01”树下面,确认 mike 的“邮箱”中有一封邮件,然后关闭“POP3 服务”MMC。
揪错 ┆ 评论1 ┆ 举报
另外,虚机团上产品团购,超级便宜
0条评论