linuxsendmail邮件
① linux sendmail
详细的介绍及PDF文档下载:http://redking.blog.51cto.com/ 需要安装的软件包
sendmail.i386
sendmail-cf.i386
sendmail-devel.i386
sendmail-doc.i386
m4
dovecot (pop3服务端)
procmail 配置目录:/etc/mail
sendmail.mc
sendmail.cf
local-host-names
access 例子:允许其他机器连接过来发送邮件(接受邮件的用户都是在邮件服务器上的用户)
注意:当前的“其他机器”只能是在同一个域或者同一个网段的用户
# vim /etc/mail/sendmail.mc将 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl 取消注释# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# service sendmail restart 例子:允许本机和其他来自任何地方IP登录发送邮件,发送的邮件可以是其他域的邮件需要开启smtp验证开启smtp验证的配置
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf安装验证支持的软件包# yum install cyrus-sasl* -y重启相关的服务# service sendmail restart
# service saslauthd restart
# service dovecot restart
② linux怎么发送邮件
Linux服务器发送邮件一般都是基于sendmail进行的,sendmail服务器提供对外的邮件发送功能。
1.安装sendmail服务器安装方法:
#sudo apt-get install sendmail
2.然后通过ps查看是否有sendmail进程,如果存在,则安装成功:
#ps -ef|grep sendmailroot 1282 1 0 13:39 ? 00:00:00 sendmail: MTA: accepting connections
3.成功安装sendmail后,就可以向邮件账户发送邮件了,编辑如下文件a.sh,通过chmod 更改权限后执行就可以。
③ linux中sendmail发送邮件成功但收不到邮件
直接用yum安装,命令:yum
install
sendmail,安装好了,就开始启动,命令
:/etc/init.d/sendmail
start
,显示启动完成,然后开始测试发邮件,$rs=mail('[email protected]','这个是主题','
这个是内容');var_mp($rs);,输出结果是true,可查看邮件,却发现没收到任何邮件。一开始怀疑是php配置那里没
设置好对应的sendmail路径,改好php.ini配置后,却发现还是收不到邮件。检查了sendmail是否已经启动,命
令:/etc/init.d/sendmail
status,结果发现出现如下错误:sendmail已死,但是subsys被锁。然后网上查了一下,怀
疑是跟postfix冲突了,把postfix干掉,命令:/etc/init.d/postfix
stop,再重新尝试发送邮件,结果还是失败。
纠结啊,到底什么问题呢,网上搜啊搜。
最后,查看了下管理员的邮件,命令:less
/var/spool/mail/root,有个发现:
打开网易邮箱回馈回来的信息,根据对应的550错误码,发现网易邮箱提示发件人的地址不符合法。
然后我尝试修改主机名,命令:hostname
[email protected],再重新尝试发送邮件,功夫不负有心人啊,
注意:有些发出去了可能会在垃圾邮件哦,像qq邮箱针对sendmail做了过滤,有谁知道需要做什么设置,才可以不被过滤
补充:sendmail发送不了邮件
没有找到,对它的配置也不熟悉,网上没有找到方法
运行yast删除了,重新安装
linux-qebs:/srv/www/htdocs
#
rpm
-qa
|
grep
sendmail
sendmail-8.14.3-51.5.1.i586
sendmail
-bd
-q12h
vi
/etc/sendmail.cf
修改配置
原来为
Timeout.ident=5s
修改后
Timeout.ident=0s
/etc/init.d/sendmail
status
没有自动启动
/etc/init.d/sendmail
restart
sendmail
'aaaa'
[email protected]
④ 怎样在Linux下架设邮件服务器Sendmail
一.安装Sendmail 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4。如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看: [root@ahpeng root] rpm–qagrep sendmail 如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。 另一种办法是:直接插入Linux第1张安装光盘,选择/RedHat/RPMS目录下的sendmail-8.12.8-4.i386.rpm安装包,之后运行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可开始安装,再用此方法在第3张安装光盘的同目录下依次安装sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。 二.启动Sendmail服务系统 笔者建议使用带参数的Sendmail命令控制邮件服务器的运行: [root@ahpeng root]#sendmail -bd –q12h -b:设定Sendmail服务运行于后台。 -d:指定Sendmail以Daemon(守护进程)方式运行。 -q:设定当Sendmail无法成功发送邮件时,就将邮件保存在队列里,并指定保存时间。上面的12h表示保留12小时。 此外,要检测Sendmail服务器是否正常运行,可以使用命令行: [root@ahpeng root]# /etc/rc.d/init.d/sendmail status。 三.配置Sendmail sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc。故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为: 第一步:用模板文件sendmail.mc生成sendmail.cf配置文件,并导出到/etc/mail/目录下,使用命令行:m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf 第二步:再用[root@ahpeng root] /etc/rc.d/init.d/sendmail restart命令行重启sendmail。 至此,邮件服务系统配置完成,已经正常工作。接下来就是创建具体的帐户了。
⑤ sendmail 在linux 中如何启动
sendmail的配置文件需要配置正确,由于sendmail的配置十分复杂。通常它的配置文件是sendmail.cf,位于/etc/mail目录下。由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。一般通过m4宏处理程序来生成所需的sendmail.cf文件。创建的过程中还需要一个模板文件,系统默认在/etc/mail目录下有一个sendmail.mc模板文件。
可以根据简单、直观的sendmail.mc模板来生成sendmail.cf文件,而无需直接编辑sendmail.cf文件。可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的。这里介绍创建sendmail.cf文件的步骤:
(1)备份原有sendmail.cf文件
在终端命令窗口运行以下命令:
cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK
(2)生成sendmail.cf文件
根据sendmail.mc模板文件产生sendmail.cf配置文件,并导出到/etc/mail/目录下:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(3)重启sendmail服务
[root@ahpeng root] /etc/rc.d/init.d/sendmail restart
很明显在用m4宏编译工具创建sendmail.cf文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个sendmail.mc模板的大致内容如下:
divert(-1)dnl
......
include('/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID('setup for Red Hat Linux')dnl
OSTYPE('linux')dnl
......
dnl #
dnl define('SMART_HOST','smtp.your.provider')
dnl #
define('confDEF_USER_ID',''8:12'')dnl
define('confTRUSTED_USER', 'smmsp')dnl
dnl define(′confAUTO_REBUILD′)dnl
......
这里介绍sendmail.mc模板的语法组成:
dnl:用来注释各项,同时dnl命令还用来标识一个命令的结束。
divert(-1):位于mc模板文件的顶部,目的是让m4程序输出时更加精简一些。
OSTYPE ('OperationSystemType'):定义使用的操作系统类型,显然这里应该用linux代替OperationSystemType,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。
define:定义一些全局设置,对于Linux系统,设置了OSTYPE之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子:define('ALIAS_FILE','/etc/aliases')
定义别名文件(alia file)的保存路径,默认是/etc/aliases
define('STATUS_FILE', '/etc/mail/statistics')
sendmail的状态信息文件。
以上只是sendmai.mc的一些简单的语法解释,更多的参数含义及其配置信息可以参见http://www.sendmail.org/m4/tweaking_config.html。
3. 为新用户开电子邮件账号
在Linux里为新用户开设电子邮件账户比较简单,只需在Linux系统里新增一个用户即可。单击"主菜单→系统设置→用户和组群"菜单项,打开"Red Hat用户管理器"对话框,单击"添加用户"按钮,在出现的"创建新用户"对话框里指定用户名、登录口令即可,如图3所示。
假设我们添加了一个用户Peter(密码为peter),这样该用户就有了一个邮件地址[email protected](此处的YourDomain.com用你自己域名代替)。
以上过程也可以在终端命令窗口运行以下命令来实现:
[root@ahpeng root]#adser peter -p peter
其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在/var/spool/mail目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的最大空间即可。
[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload
设置好以后,就可以在Outlook Express里面设置好邮件账号,以后就可以直接利用Sendmail服务器进行收发邮件了,由于邮件服务器就在本地局域网,所以速度很快。
⑥ Linux sendmail到底怎么往外发邮件
我用的是
sendemail
还是比较简单的
部分参数如下:
-f 表示from,发件人地址
-t 表示to,收件人地址
-s mail服务器域名
-u 主题
-xu 用户名(@之前的)
-xp 用户密码
-m 纯文本信息
-o message-file=/root/.. 发送文件中的内容
-a 发送附件 (-m,-o,-a可以同时使用)
需要注意的是填写服务器地址时最好添加上端口号
qq邮箱的端口号就不是默认的端口号
sudo apt-get install sendemail
建议在安装前先安装另外两个包:
libio-socket-ssl-perl libnet-ssleay-perl
⑦ linux下的sendmail如何配置
sendmail的功能强大,配置起来也十分繁琐。本例仅介绍如何架设小型的局域网电子邮局。
1、设置sendmail 作为守卫进程(daemon)启动
可以使用以下命令来确认 sendmail 是否已经启动:ps –A|grep sendmail
如果启动了 sendmail,那么这个命令将显示出它的相关信息。如果没有启动,则需要在/etc/rc.d/rc.net 文件中加上如几行代码:
if [-f /usr/lib/sendmail ];
then(cd /usr/spool/mqueue;rm –f if *)
/usr/lib/sendmail-bd-qlh;echo –n ‘sendmail’>/dev/console
fi
2、设置sendmail.cf
sendmail.cf是sendmail的配置文件。在安装了 Linux 系统之后,它将自动生成一个适合本系统使用的 sendmail.cf 文件,位于/etc/sendmail.cf
3、开启SMTP、POP 端口
在默认情况下,SMTP 端口是打开的,而 POP端口是关闭的,我们必须将它打开:
1)用 root(超级权限)登录到服务器上;
2)编辑文件/etc/inetd.conf;
3)找到描述 POP 端口的语句:#pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d
4)将 POP3的描述语句那一行的注释号“#”去掉。
5)如果没有找到,就手工补上这一行;(另外,我们还可以验证一下是否存在 SMTP端口的描述语句) ;
6)存盘后退出。
7)运行 inetd 命令,使得设置生效。
8)用以下命令验证,看 POP3 端口是否打开(生效):netstat –a |grep pop
如果打开的话,可以看到以下信息:tcp 0 0 *:pop3 *:* LISTEN
4、为新用户开E-Mail 帐号
在 Linux 中开设 E-Mail 帐号十分简单,只要在 Linux 系统中新增一个用户即可。该用户帐号和密码就是E-Mail 的帐号和密码。如:为新用户 guest 开一个E-Mail帐号,用以下命令即可:
adser guest passwd guest
这样,该新用户的 E-Mail 地址就是:[email protected] ;密码为:guest
5、为E-Mail 帐号设置别名
如果某个用户想使用多个 E-Mail 地址,可通过设置别名的方法来实现。比:用户“杜
方冬”想同时拥有 E-Mail 地址:[email protected] ;[email protected] ;[email protected]
就可通过以下步骤来实现这样的别名设置:
1)以 root 登录服务器;
2)新增一个账号 dfd;
3)编辑文件/etc/aliases,加上两行:
fd:dfd
fd2000:dfd
4)存盘退出;
5)执行命令: newaliases
这样,用户杜方冬就拥有三个邮件地址,杜方冬只需使用一个E-Mail 帐号:[email protected]就可以接收所有寄给以上三个E-Mail 邮件地址的电子邮件。
6、邮箱空间的限定
如果你想控制用户邮箱空间的大小,可以对它进行限定。实现方法是利用磁盘限额功能来实现的。电子邮件的暂存空间是在/var/spool/mail 目录下,只要通过磁盘限额设定每一个用户在这个目录下能使用的最大空间就可以了。
⑧ 如何Linux下安装sendmail
Linux 的 sendmail 配置
配置文件
在 Linux 系统中,Sendmail 包括如下配置文件:
/etc/sendmail.cf
/etc/mail/access
/etc/mail/aliases
/etc/mail/local-host-names
/etc/mail/mailertable
/etc/mail/virtusertable
/etc/mail/domaintable
~/.forward
我们将会 在下面的章节中详细介绍这些配置文件。
/etc/sendmail.cf
/etc/sendmail.cf 是 sendmail 的主配置文件。该文件存储了正在运行的 mailer 程序的类型信息,定义了重写邮件地址的规则和 sendmail 命令的操作环境。因为 sendmail.cf 的语法比较复杂,我们一般不建议手动修改该配置文件。安装了 sendmail 的 UNIX/Linux 系统都会带有 sendmail.cf,而且该配置文件在大多数情况下都不需要修改就可以使用。如果用户确实需要修改 sendmail.cf 配置文件 , 一般建议用户基于 sendmail.mc 宏文件,利用 m4 程序来生成新的 sendmail.cf 文件。
在 RedHat Linux 系统中,sendmail.mc 宏文件位于 /etc/mail/ 目录。
而 SuSE Linux 系统并没有 sendmail.mc 文件,相应的,它提供了 /etc/mail/linux.mc ( 或者 /etc/mail/linux.nullclient.mc) 替代 sendmail.mc。/etc/mail/linux.mc 是 SuSEconfig 使用 /etc/rc.config 和 /etc/rc.config.d/sendmail.rc.config (SuSE <= 7.3) 或者 /etc/sysconfig/sendmail (SuSE >= 8.0) 的参数而生成的宏文件。SuSEconfig 执行 /sbin/conf.d/SuSEconfig.sendmail 脚本来构建 .mc 文件,并执行 m4 来生成 sendmail.cf 配置文件。用户可以依照清单 1 所示的 SuSEconfig.sendmail 命令来生成配置文件。
清单 1. 使用 SuSEconfig.sendmail 命令生成配置文件
/ sbin/conf.d/SuSEconfig.sendmail -m4 > sendmail.mc
在 sendmail.mc 配置文件中经常出现如下的 m4 命令:
define:
用于定义配置文件中变量的值
divert:
用于定向 m4 进程的输出。
divert 被设置为 -1 时 , 取消输出。如果 divert(-1) 在一个文本块的前面出现,这段文本将不会再 sendmail.cf 中出现 . divert 被设置为 0 时来定向数据流的输出,如 sendmail.cf,
VERSIONID:
配置文件定义版本控制信息。
dnl:
注释掉后面的所有字符。
dnl 出现在行尾,表示将清除掉不想要的空白行;dnl 出现在行首,表示这一行将被当成注释。
DOMAIN:
选择传输邮件的域。
FEATURE:
识别配置文件中一个特性 (Feature)。
MAILER:
识别包含在 sendmail.cf 一套邮件传输方法。
OSTYPE:
定义宏所使用的操作系统,它允许 m4 程序增加同相关操作系统相关的文件。
undefine:
清除配置文件中的变量值。
需要注意的是,m4 宏处理器生成的 sendmail.cf 文件必须放在 /etc/ 目录 , 而非 /etc/mail。具体的操作如清单 2 所示。
清单 2.m4 命令生成配置文件 sendmail.cf
cp /etc/sendmail.cf /etc/sendmail.cf.bak
m4 sendmail.mc > sendmail.cf
在用户修改完成 sendmail.cf 配置文件以后,最后一步操作是重新启动 sendmail 服务,具体的操作如清单 3 所示:
清单 3. 重启 sendmail 服务
service sendmail restart
/etc/mail/access 和 access.db
access 数据库是由 sendmail V8.9 版本引入的特性, 并在 V8.10 重得到很好的发展。它提供了一个单一集中管理的访问规则数据库;它可以基于发信者的姓名、地址或者 IP 来判断是否接受 (OK)、转发 (RELAY)、拒绝 (REJECT) 或者取消 (DISCARD)。sendmail 会在接收邮件时进行规则判断,默认情况下只接受本机发送的邮件。
对本地设置来说,/etc/mail/access 和 access.db 并不是必需的;只有在建立中央邮件集中服务器来处理所有邮件的时候才需要这两个文件。
access 数据库的配置主要有三个步骤,具体操作如下所示。
修改 /etc/mail/access 文件;修改后的内容如清单 4 所示。
清单 4./etc/mail/access 文件内容
localhost.localdomain RELAY
localhostRELAY
127.0.0.1RELAY
192.168.1RELAY
利用 /etc/mail/access 创建数据库映射文件 access.db,命令如清单 5 所示。
清单 5. 生成数据库映射文件 access.db
makemap hash /etc/mail/access.db < /etc/mail/access
重启 sendmail, 读取 access.db,具体的命令如清单 3 所示。 service sendmail restart
/etc/mail/aliases 和 aliases.db
aliases 是 sendmail 邮件系统的别名数据库。它可以定义邮递列表,在机器之间转发邮件,或者允许用多个名字指定一个用户。因为 Aliases 别名处理的规则是递归的,所以一个别名指向的目的地也可以是别名。对于每个信封,sendmail 都会在别名文件中查找本地用户的收件人名称。由于 Sendmail 的可能要在 aliases 文件中搜索数以千计的收件人名称,所以一个以 DB 数据库格式存储的 aliases 文件副本被创建,并用来提高查询的速度。
同样,这两个配置文件也不是必需的。如果 sendmail 是使用中央服务器的邮件处理中心处理所有邮件的话,安装在邻居服务器或客户机的 aliases 和 aliases.db 文件就不需要了。 aliases 数据库的配置主要有三个步骤,如下所示。
1.修改 /etc/mail/aliases。修改后的内容如清单 6 所示。
清单 6. 修改后的 aliases 文件
# Basic system aliases that MUST be present.
postmaster: root
mailer-daemon: postmaster
# amavis
virusalert: root
2.根据 /etc/mail/ aliases 来创建数据库映射文件 aliases.db,该命令如清单 7 所示。
清单 7. 创建数据库映射文件 aliases.db
makemap hash /etc/mail/aliases.db < /etc/mail/aliases
3.重启 sendmail,读取 aliases.db,具体的命令如清单 3 所示。
service sendmail restart
⑨ Linux 下 mail,mailx 和 sendmail 的区别
邮件用户代理(MUA,Mail User Agent)
邮件传送代理(MTA,Mail Transport Agent)
邮件分发代理(MDA,Mail Deliver Agent)
通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。
mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。
sendmail即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。
⑩ 怎样在linux下用sendmail搭建邮件服务器原理和步骤分别是什么样的
1、sendmail只会开启25端口,提供邮件转发功能。
2、建议你用postfix替代sendmail,安全性会高些,否则很容易成为垃圾邮件服务器
3、mysql存放账户
4、postfixadmin(php)提供管理账户的功能
5、dovecot提供pop3服务(110端口),你如果想收邮件需要开启pop3或者imap功能。
6、SquirrelMail(php)可以提供web访问mail(80端口)
7、需搭建LNMP或者LAMP,这是前提
8、有些商业邮件产品就相当于把这些软件都打包了。