2019独角兽企业重金招聘Python工程师标准>>>

说一下,这个是我边找资料边安装边记录的内容,有些地方不完全都是正确的,但是这也确实能够学到很多东西。安装成功后只做了发送测试,但是没有做接受测试。至少把想要的功能实现了。如果想完整的安装请参考文章最后面的链接。找了很多资料,有价值的貌似就这么几篇。剩下的全部都是粘来粘去。当然我的也是粘贴拼凑的但是至少我测试过。

强调一点 centos 6 没有  /etc/dovecot.conf 文件

在CentOS下,sendmail一般默认是随操作系统一起安装的。如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单:

# yum install -y sendmail

# yum install -y sendmail-cf

2、 Senmail的SMTP认证配置(不需要认证的可忽略此步)

首先确认saslauthd服务是否安装或启动。

安装saslauthd服务:# yum install -y saslauthd

启动saslauthd服务:# service saslauthd start

testsaslauthd -u username -p password

如果显示0: OK “Success.”则表明saslauthd工作正常;

{输入 ./testsaslauthd -u userID -p 'yours.passwd' 用户名密码都感觉没输出,却报告

0: NO "authentication failed"

这里其实是让 输入 当前用户的 用字和密码 ==||| 我一开始就不知道
[root@localhost sasl2]# testsaslauthd -u username -p password
0: NO "authentication failed"

}

(1) 配置Senmail的SMTP认证

# vi /etc/mail/sendmail.mc

view plain   copy

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

将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。

[这两行默认是被dnl(注释掉的)掉的,要去掉它的注释,TRUST_AUTH_MECH”的作用是使sendmail不管access文件中如何设置,都能relay那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件,注意这里是对需要relay的邮件进行验证,这点很重要,只有这样通过验证的邮件才会被relay以防止sendmail服务器被滥用,confAUTH_MECHANISMS的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。

然后将DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl这行dnl(注释)掉,不然从其他计算机使用foxmail等客户端都将无法使用sendmail发邮件,因为这行的设置表示只接收本机的邮件。将这行注释掉也可以,或者改成DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl也可以。总之如果想进行邮件接收的话,就不要在这行里加入M=a的配置(注意大小写),因为它是对connection进行验证,这样对接收的邮件,sendmail也会先要求对这个连接验证,而其他邮箱发给你的邮件的这个连接是无法进行验证的。

]

#配置支持的认证方式,配置后通过验证的用户都可以发邮件,不用在access里配置Relay

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA’)dnl    #修改侦听范围

DAEMON_OPTIONS(`Port=587,Name=MSA,M=a')dnl     #增加通过587端口发邮件

这里要说一句,不要改
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf      #生成配置

7.添加sendmail接受邮件的域名;

vi /etc/mail/local-host-names

添加域名如: an.test //每个域名一行

[打开/etc/mail/local-host-names
加入你 @后面的邮箱地址。比如我这里是otto@linuxedentest.com
那么,你要在local-host-names文件里的第二行添加:
linuxedentest.com
保存
当然
local-host-names还可以设置邮箱别名,这个不多说,大家查文档看看。]

{[telnet 安装

yum install telnet-server
步骤2:安装完毕之后,需要对你所开放的telnet服务的一些参数作出必要的设定。
在预设的/etc/xinetd.d/telnet内容是这样的:
[root@linux ~]# vi /etc/xinetd.d/telnetservice telnet
{ flags = REUSE <==额外的参数使用
REUSE socket_type = stream <==使用TCP的封包格式
wait = no <==可以有多个连线同时连进来
user = root <==启动者预设为
root server = /usr/sbin/in.telnetd <==使用的是这支程式!
log_on_failure += USERID <==若登入错误,『加计』记录使用者ID
disable = yes <==此服务预设关闭!
}

}

8.重新启动sendmail并验证能否正常使用;

service sendmail restart

chkconfig sendmail on

telnet smtp_server 25

HELO domainname

250 domainname Hello [10.57.28.221], pleased to meet you

AUTH LOGIN

#输入这个后,使用base64编码的用户名密码,使用下面一句话来生成

perl -MMIME::Base64 -e ‘print encode_base64(“word”)’

334 VXNlcm5hbWU6

dGVzdA== # base64编码后的test

334 UGFzc3dvcmQ6

YWJjZC4xMjM0 #base64编码后的abcd.1234

235 2.0.0 OK Authenticated

MAIL FROM:test@an.test

250 2.1.0 test@an.test… Sender ok

RCPT TO:test@an.test

250 2.1.5 test@an.test… Recipient ok

DATA # 开始邮件的内容

Subject:test #邮件标题

This a test email. #邮件正文

. #用一个.结束邮件

{我的操作

[root@localhost /]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.14.4/8.14.4; Fri, 18 Jan 2013 11:01:23 +0800
AUTH LOGIN
334 VXNlcm5hbWU6
dGVzdA==
501 5.5.4 cannot decode AUTH parameter dGVzdA==
MAIL FORM:TEST@guo.test
501 5.5.2 Syntax error in parameters scanning "FORM"
500 5.5.1 Command unre"ognized: "
MAIL FROM:test@guo.teset
250 2.1.0 test@guo.teset... Sender ok
RPCT TO:test@guo.test
500 5.5.1 Command unrecognized: "RPCT TO:test@guo.test"
RCPT TO:test@guo.com
250 2.1.5 test@guo.com... Recipient ok (will queue)
^]

}

9.安装dovecot支持pop3;

yum install dovecot

10.配置dovecot.conf

vi /etc/dovecot.conf

去掉以下几行前边的#并修改;

protocols = imap pop3

disable_plaintext_auth = no

mail_location = mbox:/var/mail:INBOX=/var/mail/%u

11.启动dovecot;

service dovecot start

chkconfig dovecot on

{[我的操作:

centos 6 没有 vi /etc/dovecot.conf

打开dovecot.conf文件,搜索include_try,可以发现以下代码
# Optional configurtaions, don't give an error if it's not found:
!include_try /etc/dovecot/conf.d/*.conf
,在/etc/dovecot/conf.d/目录下已经有一个

那么可以猜测他们是互相引用的。然后开始编辑 10-mail.cof 文件中  mail_location = mbox:/var/mail:INBOX=/var/mail/%u

和 vi 10-auth.conf 文件中的disable_plaintext_auth = no  修改

[root@localhost dovecot]# vi dovecot.conf

vi dovecot.conf
# Protocols we want to be serving.
#protocols = imap pop3 lmtp
protocols = imap pop3  最后改为这个
[root@localhost conf.d]# vi 10-ssl.conf
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = no

]}

< 摘引:

日志出现tried to use disabled plaintext auth

outlook登陆不进

/etc/dovecot/conf.d目录下有一个10-mail.conf的文件。内容如下:
#   mail_location = maildir:~/Maildir
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
取消注释protocols = imap pop3 lmtp
disable_plaintext_auth=no
ssl_disable = no
取消注释,并添加你的文件中或许没有的内容。

我的是dovecot-2.1.1-2_132.el5,修改方法如下:vi /etc/dovecot/conf.d/10-auth.conf去掉disable_plaintext_auth前面#,修改为disable_plaintext_auth = novi /etc/dovecot/conf.d/10-ssl.conf修改为ssl = no重启dovecot服务,OKservice dovecot restart

>

<

配置Ubuntu邮件服务器,Ubuntu Server 10.04,安装postfix,安装dovecot-postfix,修改dovecot.conf配置文件,启用disable_plaintext_auth无效,经研究发现需要修改conf.d目录下的配置文件……

Ubuntu官方文档这部分的配置叙述得并不详细,相关信息是在一篇日文博客<ubuntu 10.04 をメールサーバーに (Dovecot 編)>中找到的。

9.10 以前の ubuntu で提供されている Dovecot では /etc/dovecot/dovecot.conf ファイルを直接編集するしかなかった。
どのバージョンからかは調べていないが、少なくとも 10.04 の Dovecot では include_try ディレクティブが導入され、/etc/dovecot/dovecot.conf ファイルの中で適宜この include_try ディレクティブを使って、/etc/dovecot/conf.d ディレクトリにある拡張子が .conf のファイルと、/etc/dovecot/auth.d ディレクトリにある拡張子が .auth のファイルを読み込むようになった。
ただし、10.04 になった今でも一部の設定については /etc/dovecot/dovecot.conf ファイルを直接編集する必要がある。

9.10以前的ubuntu提供的Dovecot只能直接编辑/etc/dovecot/dovecot.conf文件。
没有调查从哪个版本开始,至少10.04的Dovecot导入了inlude_try指令,/etc/dovecot/conf.d文件中使用include_try指令,读取/etc/dovecot/conf.d目录中扩展名为.conf的文件和/etc/dovecot/auth.d目录中扩展名为.auth的文件。
但是,目前10.04中的一部分设定仍然需要直接编辑/etc/dovecot/dovecot.conf文件。

打开dovecot.conf文件,搜索include_try,可以发现以下代码

# Optional configurtaions, don't give an error if it's not found:
!include_try /etc/dovecot/conf.d/*.conf

因为是直接安装dovecot-postfix这个包,在/etc/dovecot/conf.d/目录下已经有一个经过配置的01-dovecot-postfix.conf文件,将disable_plaintext_auth设置添加到这个文件即可生效。没试过分别安装postfix和dovecot再整合是什么情况。

Ubuntu上的其它软件也启用了include_try,比如Apache:<Apache configuration files on Ubuntu>

Google了一下,CentOS的一些配置中也涉及到了conf.d目录。

Google关于Linux的include_try和Optional configurations的信息,返回的结果很少,难道这是很基础的Linux概念?

引入include_try的优点是:可以保持初始的.conf文件,conf.d目录下可以导入多个配置文件,可以将配置分配在不同的文件中,可以快速地隔离出一个错误的配置修改。

缺点方面,多个配置文件增加了复杂度。目前Ubuntu有些配置需要修改主配置文件,有些配置则只能添加在conf.d目录下的配置文件中才能生效。同时因为很多文档都基于单个conf配置文件编写,文档不能跟上更是增加了配置过程中的混乱。

>

touch mail.php

[code]

<?php

mail('your_email_addr@gmail.com','subject','message body');

?>

[/code]

chmod a+x mail.php

php mail.php

{[如果 php 里找不到 php.ini 需要CP 一个   源码里面的php.ini-development或php.ini-production 到/usr/local/php/lib  为 php.ini 我的这个主机以为不是我配置的所有就没有

用php内置函数通过sendmail发送信件的话,可以在php.ini中修改:

sendmail_path = /usr/sbin/sendmail -f service@domain.com -t –i //我设置了但是没有用

编辑 /etc/mail/sendmail.mc 开启下列各项

MASQUERADE_AS(`mydomain.com')dnl 是否对信息作伪装

修改 MASQUERADE_AS(`text.com')dnl 伪装成text.com域名

FEATURE(masquerade_envelope)dnl 是否对整个域(包括子域)做伪装

FEATURE(masquerade_entire_domain)dnl

MASQUERADE_DOMAIN(localhost)dnl 对localhost域做伪装

MASQUERADE_DOMAIN(localhost.localdomain)dnl

将locahost.com域伪装成text.com

斜体字部分 我做伪装结果不能用,不知道为什么  总是localhost.localdomain 最后是改 的host文件 才做出了伪装。

]}

http://linux.vbird.org/linux_server/0380mail.php#mra_setup

http://blog.renhao.org/2011/09/resolve-php-mail-function-could-not-send-a-mail/

http://www.2cto.com/kf/201203/124805.html

http://sunting.blog.51cto.com/1244382/282223/

http://www.cnblogs.com/fjsbf/archive/2010/01/26/1656706.html

http://www.sunchis.com/html/os/linux/2012/0503/407.html

http://blog.sina.com.cn/s/blog_61184a0f0100hwvg.html#bsh-24-174701087

http://www.linuxeden.com/forum/thread-160417-1-1.html

http://blog.itechol.com/space-33-do-blog-id-1252.html

转载于:https://my.oschina.net/startphp/blog/102786

centos 6 下 sendmail 安装相关推荐

  1. CentOS 6下编译安装Nginx

    CentOS 6下编译安装Nginx  By:老宁 一.准备make环境  yum -y install gcc gcc-c++ automake autoconf libtool make 二.准备 ...

  2. php安装redis扩展报错,CentOS 67下php5+安装redis扩展组件

    首先去redis官网,点击 clients 链接,在 Browse by language 内点击 PHP 项,以phpredis为例,打开这个扩展扩展组件的链接,到github下载此扩展组件. 下载 ...

  3. webmin升级php,Centos linux下webmin安装及配置

    Centos linux下webmin安装及配置 2012-1-30 18:14 Monday 分类:Linux 评论(49) 浏览(18247) webmin是一个用浏览器来管理系统的工具. 1.下 ...

  4. centos英文版下如何安装中文语言

    centos英文版下如何安装中文语言 ... centos安装过程中,安装语言包时选择了english,在安装完毕后浏览中文网页或查看中文文档时总是宣誓乱码,因此需要安装中文语言包,如果不能 从安装盘 ...

  5. 【数据分析R语言系列】R和RStudio的下载和安装, R在 Ubuntu 和CentOS 系统下的安装

    文章目录 准备工作 R 的下载和安装 RStudio 的下载和安装 配置(可选) 常见问题与方案 R 在 Linux 系统下的安装 Ubuntu 从源安装 R CentOS 从源安装 R Rtools ...

  6. MYSQL基础之centos 6下二进制安装mariadb

    安装mysql的方法: 1.源代码:编译安装 2.二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用 3.程序包管理器管理的程序包 项目官方最新版地址:https://downloads.m ...

  7. centos 7下redis安装和配置

    1,通过rz命令将本地的tar.gz包上传到linux服务器上home目录下;我这里用的是redis-3.0.2.tar.gz,上传到home下: 2.tar -xvf 命令解压文件: 3,进入到re ...

  8. centos mysql2_centos7下在线安装mysqlMySQL内存调优

    原文链接: MySQL Memory Allocation -- by Rick James 原文日期: Created 2010; Refreshed Oct, 2012, Jan, 2014 翻译 ...

  9. php 编译mcrypt,centos 6下编译安装php时安装mcrypt支持库

    centos6本身不带mcrypt库的支持,手工编译php时,还需要先安装该库,这里有两个途径 1. 使用第三方源实现yum安装,推荐使用RPMforge,在centos下配置该yum源,配置后即可尝 ...

最新文章

  1. PTA 基础编程题目集 7-20 打印九九口诀表 C语言
  2. 5800对于存储卡密码设置问题
  3. 浙江理工大学-2018-2019学年面向对象程序设计A-期末复习资料
  4. 22/100. Find All Anagrams in a String
  5. Object overview 页面点击Edit button白屏问题
  6. MapReduce源码刨析
  7. seo 伪原创_seo伪原创工具(解析新云查新型伪原创模式工具)
  8. Linux进阶之VMware Linux虚拟机运行提示“锁定文件失败 虚拟机开启模块snapshot失败”的解决办法...
  9. 2018年3月11日论文阅读
  10. 手动卸载McAfee
  11. snort安装使用教程
  12. 中铁二局全面推行建筑工地务工人员实名制管理
  13. OSChina 周三乱弹 —— 可乐帝国军人们,集结了
  14. 如何在Mac上裁剪图片
  15. JavaScript基本第一天总结
  16. 现在应该继续投资公链?还是投资应用级协议?
  17. 做人温和一点,做事狠一点。
  18. html引用css文件无效,关于html引用文件无效。
  19. php教程--案例4(判断闰年)
  20. 三分钟了解一下深度学习

热门文章

  1. 802.11a/b/g/n无线协议详解
  2. 正确认识同轴与双绞线传输技术
  3. 设置GPS模块ublox 的波特率和数据输出格式
  4. 报错W: APT had planned for dpkg to do more than it reported back (9 vs 16).解决方式
  5. 解放双手,高效办公!这42个python自动化案例你不得不看
  6. 用什么软件可以把歌曲截取一部分
  7. ELYFI爱立丰举办“2021中国NFT与餐饮新思路高峰论坛” 圆满成功
  8. Python画出来的六维图,见过么?
  9. c#求长方形的面积周长公式_C#语言-输入三角形或者长方形边长,计算其周长和面积并输出...
  10. IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding