sendmail
sendmail配置教程
2.解压到C:下,例如C:\php\sendmail,最好短路径,长路径名有可能产生问题。
3.修改php.ini如下sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"4.根据你自己的配置环境修改sendmail.ini。
第一次最好启用debug.log_file,error_logfile,以查看sendmail是否生效。
5.重启apache用sendmail结合其它的smtp服务器,如来实现发邮件。
现在大部分邮箱都要求smtp验证,所以要在sendmail.ini中加入用户名和密码。
php.ini配置(以用163邮箱为例)复制代码代码如下:[mail function]; For Win32 only.SMTP = smtp_port = 25; For Win32 ……用sendmail结合其它的smtp服务器,如来实现发邮件。
现在大部分邮箱都要求smtp验证,所以要在sendmail.ini中加入用户名和密码。
php.ini配置(以用163邮箱为例)复制代码代码如下:[mail function]; For Win32 only.SMTP = smtp_port = 25; For Win32 only.sendmail_from = 4u4v@; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).sendmail_path = “D:\xampp\sendmail\sendmail.exe -t”就配置三项,smtp、smtp_port和sendmail_pathsendmail.ini配置复制代码代码如下:[sendmail]; you must change to your smtp serversmtp_server=smtp_port=25auth_username=yourusernameauth_password=yourpasswordforce_sender=yourusername@sendmail网上有下的,如果你是用xampp,那里面直接就带了。
Lamp 下搭建邮件(sendmail)服务器简单易懂
Lamp 下搭建邮件(sendmail)服务器:1.安装rpm包:Rpm -ivh sendmail-*.*.* 此包是邮件服务器的主程序包该包需要procmail-*.*.*.* 包的支持Rpm -ivh sendmail-cf-*.*.* 此包是邮件服务器利用M4 命令生成主配置文件的包Rpm -ivh dovecot-*.*.* 此包负责接受邮件(根据系统版本不同可能需要mysql 跟perl-DBI 程序包的支持)2.配置:Chkconfig sendmail on 设置sendmail 服务开机自动启动Chkconfig dovecot on 设置dovecot 服务开机自动启动Cd /etc/mail 进入sendmail 的主文件夹Vi local-*-* 编辑sendmail 的相关配置文件在文件内输入()可以自己命名打开文件local_*_* 后你会看到一个以#开头的(local-host-names - include all aliases for your machine here )意思是:本地主机的名字-包括你的机器所有的别名写在这里。
Vi sendmail.mc 实际上是该sendmail.cf 但是该文件内信息量太大所以先修改他的备份然后在利用m4 * >* 命令将内容添加到sendmail.cf内找到127.0.0.1 的一行在将127.0.0.1 修改成你的sendmail的地址。
M4 sendmail.mc > sendmail.cf 将sendmail.mc 里的内容加到sendmail.cf 里Service sendmail start 启动sendmailService dovecot start 启动dovecot测试:Useradd tom -s /sbin/nologin 建立用户tomUseradd robin -s /sbin/nologin 建立用户robinUseradd eric -s /sbin/nologin 建立用户ericPasswd tom 给用户tom 加上密码Passwd robinPsswd eric使用root 用户给tom 发送邮件发邮件echo “邮件内容”| mail -s “邮件标题”收件人收邮件mutt -f pop://用户名@邮件服务器地址。
Linux服务器部署系列之八—Sendmail篇
Linux服务器部署系列之⼋—Sendmail篇Sendmail是⽬前Linux系统下⾯⽤得最⼴的邮件系统之⼀,虽然它存在⼀些不⾜,不过,⽬前还是有不少公司在使⽤它。
对它的学习,也能让我们更深的了解邮件系统的运作。
下⾯我们就来看看sendmail邮件服务器的部署。
本⽂将从以下⼏个⽅⾯讲解Sendmail邮件系统:1.Sendmail安装;2.Sendmail基本配置;3.Openwebmail安装和配置;4.配置Mailscanner+clamav过滤病毒;5.配置SpamAssassin+mimedefang过滤垃圾邮件。
本⽂系统运⾏环境:CentOS 5。
⼀、安装Sendmail1. 软件需求(以下软件在安装光盘上都可以找到)cyrus-sasl-2.1.22-4.i386.rpmcyrus-sasl-lib-2.1.22-4.i386.rpmcyrus-sasl-plain-2.1.22-4.i386.rpmcyrus-sasl-devel-2.1.22-4.i386.rpmcyrus-sasl-md5-2.1.22-4.i386.rpmsendmail-8.13.8-2.el5.i386.rpmsendmail-cf-8.13.8-2.el5.i386.rpmsendmail-devel-8.13.8-2.el5.i386.rpmsendmail-doc-8.13.8-2.el5.i386.rpmm4-1.4.5-3.el5.1.i386.rpmdovecot-1.0.7-2.el5.i386.rpm另外,dovecot需要两外两个程序包的⽀持:perl-DBI-1.52-1.fc6.i386.rpmmysql-5.0.45-7.el5.i386.rpm2. 软件安装1)cyrus-sasl的安装先检查⼀下,系统默认安装了哪些软件包,如下图:安装cyrus-sasl-md5-2.1.22-4.i386.rpm,如下图:2)安装sendmail、dovecot等相关程序包,如下图:Sendmail要正常⼯作,是需要DNS⽀持的,⼀般企业都有DNS服务器,如果没有,可以参考我的另⼀篇⽂章:Linux服务器部署系列之三—DNS篇(/379574/169718),⾃⼰搭建⼀台DNS服务器。
Linux1 邮件服务器 配置Sendmail
Linux1 邮件服务器配置Sendmail完成Sendmail安装操作后,接下来以开放Sendmail监听端口与设置收件计算机名称、使用MTA Relay权限设置/etc/mail/access为目的来对Sendmail邮件服务器进行配置。
1.开放监听端口及设置收件计算机名称事实上Red Hat Enterprise Linux5.4在安装Sendmail后默认已经启动Sendmail (端口25处于LISTEN状态),只是它仅接收来自本计算机的MTA要求,验证此结果可在终端下输入“netstat -tulnp”命令,并按【回车】键查阅,如图9-19所示。
图9-19 查看Sendmail默认端口状态由图9-19可查看到端口25处于LISTEN状态,且只监听127.0.0.1这个lookup 接口。
所以用户的重点就是如何将监听的接口开启到整个Internet上,否则它是无法接收来自Internet的邮件的。
虽然配置文件在/etc/mail/sendmail.cf中,但建议不要手动修改它,应该修改的是sendmail.mc文件。
这个文件设置项目的基本语法为“设置组件(`设置项目’,`参数一’,`参数二’)”。
提示每个设置项目与参数左边使用的符号均为数字键1左边的引用键(quote),右边则是单引号。
这个文件的设置项目用户可以参考/m4/readme.html网页说明。
若要开放Sendmail对整个Internet的监听功能,只需要在终端下输入“vi /etc/mail/sendmail.mc”命令,按【回车】键进入sendmail.mc文件的编辑界面。
然后按“i”,切换到插入模式,将第116行中“Addr=127.0.0.1”改为“Addr=0.0.0.0”,按【ESC】键退出插入模式,最后按“:”并输入wq”按【回车】键保存配置,如图9-20所示。
图9-20 开放Sendmail监听功能修改sendmail.mc参数后,在使用m4宏文件生成器和修改后的配置创建新的sendmail.cf配置文件之前,还需要使用mv命令对原有的设置文件进行备份,这一点很重要,如图9-21所示。
Linux1 邮件服务器 Sendmail所需的软件与软件结构
Linux1 邮件服务器Sendmail所需的软件与软件结构既然Red Hat Enterprise Linux5.4默认以Sendmail为MTA软件,且由MTA来监听Lookup这个端口,所以Sendmail当然是已经安装好的。
但是Sendmail还需要很多额外的软件来辅助处理,至少需要下面几个软件才行。
●Sendmail 提供主要的Sendmail程序与配置文件。
●Sendmail-cf 提供Sendmail.cf这个配置文件的默认整合数据。
●m4 辅助Sendmail将Sendmail-cf的数据转成实际可用的配置文件。
这三个软件存在着相关性,不过如果在安装的时候没有选择完整安装所有软件的话,Sendmail-cf则可能没有被安装,所以建议自行利用rpm以及yum检查,并安装软它。
提示Yum(Yellow dog Updater Modified)是一个源于Linux操作系统和平台中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
几乎所有的Sendmail相关配置文件都在/etc/mail/目录下,主要的配置文件基本上都有以下几个。
1./etc/Mail/Sendmail.cf(/usr/sbin/Sendmail的配置文件)这是Sendmail的主配置文件,所有与Sendmail有关的配置都是靠它来完成的。
不过,这个配置文件的内容很复杂,所以建议不要随意手动修改这个文件。
那么怎样处理额外的设置项目呢?只需交给程序为用户修改即可,所以才需要Sendmail-cf 这个软件。
2./usr/share/Sendmail-cf/cf/*.mc这些文件是Sendmail.cf配置文件的默认参数数据。
由于提示过不要直接手动修改Sendmail.cf,如果想要处理Sendmail.cf时,就需要通过这个目录下的参数来事先准备设置数据。
第5季 Sendmail服务全攻略
1.Sendmail服务软件包sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,服务器端必须安装该软件包。
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档m4-1.4.5-3.el5.1.i386.rpm:宏处理过虑软件包dovecot-1.0-1.2.rc15.el5.i386.rpm:接收邮件软件包,安装时需要注意安装顺序2.Sendmail相关配置文档sendmail.cf:sendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf sendmail.mc:sendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mclocal-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-nameaccess.db:用来设置sendmail服务器为哪些主机进行转发邮件,位于/etc/mail/access.db aliases.db:用来定义邮箱别名,位于/etc/mail/aliases.dbvirtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db3.邮件功能组件MUA:邮件用户代理(Mail User Agent)MTA:邮件传输代理(Mail Transfer Agent)MDA:邮件递送代理(Mail Delivery Agent)4.Sendmail常规服务器配置搭建Sendmail服务器流程:(1)配置sendmail.mc文件(2)使用m4工具将sendmail.mc文件导入sendmail.cf文件(3)配置local-host-names文件(4)建立用户帐号(5)重新启动服务使配置生效Sendmail应用案例1:局域网网段:192.168.8.0/24企业域名:DNS及Sendmail服务器地址:192.168.8.1sendmail服务是和DNS服务结合相当紧密的一个服务,所以我们在配置sendmail之前,需要设置并调试好DNS服务器(DNS配置请参考上季[RHEL5企业级Linux服务攻略]--第4季DNS服务全攻略),DNS配置中设置MX资源记录指定邮件服务器地址。
sendmail服务器配置实训小结
sendmail服务器配置实训小结在本次实训中,我们学习了sendmail服务器的配置和使用。
sendmail是一款常用的邮件传输代理软件,它可以帮助我们搭建邮件服务器,实现邮件的发送和接收功能。
通过这次实训,我对sendmail的配置和使用有了更深入的了解。
首先,我们需要在Linux系统上安装sendmail软件。
在安装过程中,我们需要注意选择合适的版本,并确保系统已经安装了必要的依赖包。
安装完成后,我们可以通过命令行输入“sendmail -v”来验证sendmail是否安装成功。
接下来,我们需要对sendmail进行配置。
sendmail的配置文件位于/etc/mail/sendmail.cf,我们可以通过编辑该文件来修改sendmail的配置。
在配置文件中,我们可以设置邮件服务器的域名、IP地址、邮件队列的大小等参数。
此外,我们还可以设置邮件的转发规则、邮件的过滤规则等。
配置文件中的每一项都有详细的注释说明,我们可以根据需要进行修改。
在配置完成后,我们需要重启sendmail服务,使配置生效。
我们可以使用命令“service sendmail restart”来重启sendmail服务。
重启后,我们可以通过命令“ps -ef | grep sendmail”来查看sendmail进程是否正常运行。
在sendmail配置完成后,我们可以使用命令行发送邮件。
我们可以使用命令“mail -s '邮件主题' 邮箱地址”来发送邮件。
在发送邮件时,我们可以输入邮件的内容,并可以附加文件。
发送完成后,我们可以通过命令“mailq”来查看邮件队列中的邮件。
除了命令行发送邮件,我们还可以使用sendmail提供的API来发送邮件。
sendmail提供了一系列的API函数,我们可以在自己的程序中调用这些函数来实现邮件的发送功能。
通过API发送邮件,我们可以更加灵活地控制邮件的发送过程,实现更多的功能。
sendmail命令参数
Sendmail命令是一款著名的电子邮件传送代理程序,也就是平常说的电子邮件服务器,它基于标准的简单邮件传输协议(SMTP)。
Sendmail命令的参数如下:
* `-bd`:以守护进程方式运行指令。
* `-bD`:以前台运行方式运行。
* `-bi`:初始化别名数据库。
* `-bm`:以常规发送电子邮件。
* `-bp`:显示邮件的发送队列。
* `-C`:指定配置文件。
* `-D`:将调试的输出信息保存到日志文件,而不显示在标准输出设备上。
* `-F`:指定邮件发送者全名。
* `-n`:禁止使用邮件别名功能。
* `-f`:指定发件人的名字。
* `-q`:设置处理邮件队列中邮件的时间间隔。
以上参数仅供参考,具体参数可能会因操作系统或版本的不同而有所差异。
建议查阅Sendmail的官方文档或使用“man sendmail”命令来获取更多信息。
Linux服务器实用教程sendmail
2. 启动Sendmail
3. 配置DNS的MX记录
$TTL 86400 @ IN SOA . root.localhost ( 2 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ; ttl ) IN NS . @ IN MX 1 computer computer IN A 211.85.203.22
(1)SMTP协议
SMTP(Simple Mail Transfer Protocol,简 单邮件传输协议)是Internet上基于TCP/IP应用 层的协议,适用于主机之间电子邮件交换。
使用SMTP时,收信人可以是和发信人连接在同一个 本地网络上的用户,也可以是Internet上其它网络的用户, 或者是与Internet相连但不是TCP/IP网络上的用户,
3 邮件服务器(E-mail)
3.1 概述 电子邮件(Electronic mail)服务是Internet网络为用户 提供的一种最基本的、最重要的服务之一。 电子邮件将邮件发送到收信人的邮箱(mail box)中, 收信人可随时读取邮件。 电子邮件有非常高的效率。
1 E-mail的工作原理
在Internet网上,一封电子邮件的实际传递过程如下: (1)由发送方计算机(客户机)的邮件管理程序将邮件进 行分拆,即把一个大的信息块分成一个个小的信息块,并把 些小的信息块封装成传输层协议(TCP层)下的一个或多个 TCP邮包(分组)。 (2)TCP邮包又按网际层协议(IP层)要求,拆分成IP邮 包(分组),并在上面附上目的计算机的地址(IP地址)。
2. E-mail的地址
完整的电子邮件地址由二部分组成,第一部分为计算机上 的邮箱,第二部分为计算机。一种广泛使用的格式是用 “@”隔开二部分,例如: lb@
sendmail详解 全过程
sendmail是最重要的邮件传输代理程序。
理解电子邮件的工作模式是非常重要的。
一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。
用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。
而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。
当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。
信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器,并且通过网络将邮件传送给它。
对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者察看自己的电子信箱。
显然,邮件传输是从服务器到服务器的,而且每个用户必须拥有服务器上存储信息的空间(称为信箱)才能接受邮件(发送邮件不受这个限制)。
可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件缓冲或者提交给最终投递程序。
有许多的程序可以作为信件传输代理,但是sendmail是其中最重要的一个,事实证明它可以支持数千甚至更多的用户,而且占用的系统资源相当少。
不过,sendmail的配置十分复杂,因此,也有人使用另外的一些工具,如qmail、postfix等等。
下面就如何在Linux下利用Sendmail架设Mail服务器作介绍:一.安装Sendmail。
完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4。
如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:[root@ahpeng root] rpm –qa grep sendmail如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。
Sendmail基础配置和smtp命令学习
Sendmail基础配置和smtp命令学习本文接上文:搭建一台健壮的E-mail服务器—基础知识和概念学习Linux平台的电子邮件首先要学的肯定是sendmail,但是随着时间推移,Sendmail变得越来越庞大。
并且很多现代化的功能,Sendmail也无法继续支持。
取而代之的是新秀Postfix,它具有体积小,功能强大,并且是公认的最安全的MTA。
Redhat公司也将Postfix作为默认的MTA集成在RHEL中。
但是,在大多数联网的Unix/Linux主机中,Sendmail使用默认配置即可完成向外界发送邮件的功能。
大大方便了系统管理员。
下面将通过系统默认配置的Sendmail讲述SMTP command命令。
在这一节中,将引进一个新词“只发不收”。
说白了就是有这么一种服务器。
发件人通过它发出去的邮件,收件人无法通过“回复”功能回复邮件。
即便回复了,发件人也收不到。
这时或许就有人疑惑了,那这种电子邮件系统有什么用啊?我告诉你,这种邮件系统太有用了。
做过Linux系统管理员的人都有这么一个体会,每天登录各种服务器,查看性能参数。
服务器数量少了还好处理一些。
随着服务器数量的增多,往往会忘记登录哪台服务器。
为了解决这种问题,往往在服务器上编写各种脚本,收集服务器性能参数,通过电子邮件的形式发送给自己。
这种情况下,服务器只发送邮件,不接收邮件!配置“只发不收”型的邮件服务器非常简单,如下所示。
Sendmail安装启动安装base软件组,启动Sendmail服务。
这里作者并不设置Sendmail的开机启动,因为接下来就会将MTA切换到Postfix。
没必要费功夫设置这个!yum groupinstall base -yservice sendmail start查看Sendmail服务器是否运行[root@localhost ~]# service sendmail statussendmail (pid 1691) is running...sm-client (pid 1700) is running...邮件服务器必须配置一个全后缀主机名,因为邮件服务器是通过DNS的MX记录解析的。
Sendmail服务器配置——邮件中继和SMTP验证
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
SMTP验证
8
(3)重新启动sendmail服务,使设置生效。
[root@RHEL4 mail]# service sendmail restart
(4)启动saslauthd服务。
Sendmail服务器配置 ——邮件中继和SMTP验证
邮件中继和SMTP认证
2
邮件中继:当需要把邮件从一个MTA传送到另一个MTA时,这个邮件中转 的动作称为邮件中继。
sendmail使用/etc/mail/access.db文件实现邮件中继的功能。sendmail 缺省情况下直接禁止其他不明身份的主机利用本地服务器投递邮件。这种情 况下,一个非本地的机器使用本地服务器进行投递时会产生“550 relay denied”错误。在需要使用邮件中继代理时,可以利/etc/mail/access.db 文件或SMTP验证来实现该功能。
"sorry,try again later"
(2)使用makemap命令生成access.db文件 。
[root@RHEL4 mail]# makemap hash /etc/mail/access.db</etc/mail/access
SMTP验证
6
SMTP验证机制可以实现用户级别的邮件中继控制。在 RHEL4中,利用saslauthd服务提供SMTP身份验证, 该服务由cyrus-sasl软件包提供,该软件包是默认安装 的。
动作取值:
➢ RELAY:允许通过该邮件服务器进行邮件中继。 ➢ REJECT:拒绝邮件中继并显示内部错误提示信息。 ➢ DISCARD:拒绝邮件中继但不返回错误提示信息。
Sendmail 安装与配置简介
网络工程课程设计----MAIL 服务器安装与配置简介讲义国防科大计算机学院2006年8Sendmail 安装与配置简介1.Sendmail简介Sendmail 是目前使用较多的邮件服务器,特别适合于非专业邮件服务企业的邮件收发服务。
2.下载Sendmail最新版本最新版本的Sendmail可以从 得到。
3.安装Sendmail(1) 解包假设我们得到的版本为Sendmail 8.13.0, 把sendmail.8.13.0.tar.gz 复制到一个源文件夹如 /usr/src,进入/usr/src , 把tar.gz的包解开:# cd /usr/src //进入 /usr/src# tar fvxz sendmail.8.13.0.tar.gz //把tar.gz的包解开, 阅读 README,//INSTALL 等文件.(2) 生成配置文件# cd sendmail-8.13.0. //进入解开后文件目录# cd cf/cf# cp generic-linux.mc sendmail.mc // 选择与操作系统相同的配置文件//,这里选LINUX.# cd /etc //在/etc/下创建Mail目录# mkdir mail# cd /usr/src //进入 /usr/src# cd sendmail-8.13.0. //进入解开后文件目录# cd cf/cf# make install-cf // 生成配置文件sendmail.cf,// submit.cf ,并复制到缺省的安装// 目录/etc/mail,// 可用 MAILDIR=/other 来改变.(3) 编译# cd /usr/src/sendmail-8.13.0.# make //编译(4) 安装# make install //把compile出来的执行文件sendmail//复制到/usr/sbin/, 把配置文件//sendmail.cf,submit.cf,statistics,//helpfile 等拷贝到目录 /etc/mail(5)启动运行# ps -A|grep sendmail //找出旧daemon的processID(一个进程)# kill -9 processID //把sendmail daemon 的杀掉(如果有的话)#cd /usr/sbin#./sendmail -bd -q30m //-bd 表示以 daemon 方式运行//q30m 表示每隔30分钟处理邮件队列,//man sendmail 可列出所有选项.在redhat6中也可用/etc/rc.d/init.d/sendmail start /restart /stop 启动/重启/停止!初步安装就已经完成了,接下来请看设置sendmail.4.设置Sendmail.cf/etc/mail/sendmail.cf 是sendmail 的主要配置文件, 一般需要修改几个地方才能正常的收信。
sendmail发送邮件显示代发解决方案
sendmail发送邮件显⽰代发解决⽅案在⽹站上很多地⽅都需要发送邮件,如⽤户的激活,找回密码等,因此发送邮件是站点的基本需要。
之前使⽤虚拟主机构建站点的时候⽤phpmailer通过smtp协议来发送邮件。
现在有了⾃⼰的服务器,就可以考虑⾃⼰搭建服务器来发送邮件,好处⼀是发送⼈可以设置为诸如‘admin@’之类增加可信度,另外⼀个则是能够提⾼发送邮件的速度。
sendmail是linux系统下著名的邮件收发软件。
服务器系统是ubuntu 10.04LTS,下⾯说⼀下安装和配置的过程,以备后⽤。
1. 配置sendmail:添加本地域名:sudo vim /etc/mail/local-host-names在⽂件⾥⾯输⼊域名,例如:修改submit.cf⽂件:sudo vim /etc/mail/submit.cf找到⾏ #Dj$,修改为:注意域名前加Dj是其格式(具体没查是什么意思)添加域名MX(Mail eXchanger)记录,这部分应该在域名提供商的控制⾯板⾥⾯更改。
2. 重启服务:sudo service sendmail restart经过这⼏步之后sendmail服务已经配置好,就⽀持收发邮件。
但是注意⽬前的配置只允许本机⽤户(127.0.0.1)收发邮件,⽽且发信的速度会很慢。
默认的发信⼈是 username@hostname,username为系统的当前登陆⽤户,hostname是服务器的主机名。
这样发出去的邮件极⼤的可能被认为是垃圾邮件⽽拒收。
经过测试gmail能接收,但是139邮箱就拒收。
详细信息可以查看记录⽂件,默认为: /var/log/mail.log通过查看记录,同样可以找到发信慢的原因,那就是 hostname不能被解析。
所以需要在host⽂件⾥加⼊hostname的⽀持:sudo vim /etc/hosts解析本机地址:127.0.0.1 localhost hostname从国外的论坛上看到这个顺序⽐较重要,应该按照这个格式解析本机地址。
Linux1 邮件服务器 Sendmail文件
Linux1 邮件服务器Sendmail文件Sendmail是配置Sendmail邮件服务器的关键,里面包括许多配置文件,且各个功能都有所不同。
主要包括以下几个:●/etc/mail/sendmail.cf sendmail的主配置文件。
●/etc/mail/access 文件继访问控制。
●/etc/mail/domaitable 域名映射。
●/etc/mail/local-host-name 本地计算机别名。
●/etc/mail/mailertable 为特定的域指定特殊的路由规则。
●/etc/mail/virtusertable 虚拟域配置。
其中,sendmail.cf文件是Sendmail最主要的配置文件,没有它Sendmail就无法运行。
Sendmail文件一向以其内容较长、费解、难以配置而著称。
如果查看里面的内容就会发现它和其它服务器的配置文件截然不同,没有任何的可读性,因此除非真的熟悉其语法原则,否则不建议用户直接对其进行编辑。
Sendmail提供一个宏处理器m4,用户可以先编辑一个相对简单的m4宏配置文件,然后用m4宏处理器把这个文件转换成为Sendmail的配置文件。
在Red Hat Enterprise Linux5.4的/etc/mail目录下,存放着默认的m4宏配置文件sendmail.mc,对于满足一般需求的邮件服务器来讲,用户只需在终端下输入“vi /etc/mail/sendmail.mc”命令,然后按【回车】键进入sendmail.mc文件的编辑界面,对文件进行简单的修改即可满足需求。
此文件的内容如图9-34所示。
图9-34 默认的m4宏文件内容下面来详细的讲解一下这个配置文件。
第1行divert(-1),代表这一行开始一直到divert(0)的部分将在m4进行处理时被忽略掉,不会出现在生成的配置文件中,一般会在这两行之间加入一些版本信息等内容。
文件中有的行是以字符串dnl开头,dnl的作用是注释从它开始到下一行开始的所有字符,即注释部分;还有的行是以dnl结尾,因为m4宏处理器是不识别行的,所以在一行的结尾处需要用dnl注释后面的空格和换行符,以免在生成配置文件中出现不必要的空行。
批处理发邮件
批处理发邮件
要使用批处理方式发送邮件,你需要先安装一个邮件发送工具,如sendmail。
然后可以使用以下步骤来发送邮件:
1.创建一个文本文件,其中包含你要发送的邮件的内容。
你可
以使用文本编辑器来编写邮件内容,并保存为一个以.txt或
者.html为扩展名的文件。
确保文件包含邮件的主题、收件人、发件人以及邮件正文等信息。
2.在批处理脚本中调用sendmail命令,并将文本文件作为输入
参数。
sendmail命令会读取文本文件中的内容,然后将该内容
发送到指定的收件人。
3.在批处理脚本中设置发件人的邮箱账号和密码等信息,以便sendmail可以通过该账号完成邮件的发送。
这些信息可以通过
在批处理脚本中设置环境变量或者参数来传递。
4.运行批处理脚本。
你可以通过双击批处理脚本来执行它,或
者使用命令行界面来运行。
请注意,在使用批处理发送邮件时,你需要确保你的计算机已经连接到互联网,并且可以访问邮件服务器。
此外,你还需要确保你的邮件服务器支持sendmail命令。
如果你使用的是不
同的邮件发送工具,那么你需要按照该工具的使用说明来进行操作。
以上是一个简单的示例,你还可以根据你的具体需求来进行适当的调整和扩展。
sendmaild 邮件起源
sendmaild 邮件起源一、什么是 sendmaild 邮件起源sendmaild 邮件起源是一个邮件服务器软件,它的功能是接收、处理和转发电子邮件。
sendmaild 邮件起源是一个历史悠久的邮件服务器软件,它的起源可以追溯到上个世纪70年代,是最早的邮件服务器软件之一。
二、sendmaild 邮件起源的历史sendmaild 邮件起源的历史可以追溯到1979年,当时的互联网还处于起步阶段,邮件系统的发展也刚刚开始。
在那个时候,互联网上的邮件系统并不像现在这样复杂和普遍,但它为后来的电子邮件系统的发展奠定了基础。
2.1 第一个邮件服务器软件sendmaild 邮件起源是由Eric Allman开发的,他在1979年创建了第一个版本的sendmaild 邮件起源。
当时,这个邮件服务器软件只是一个简单的原型,但它为后来的邮件系统的发展起到了重要的作用。
2.2 sendmaild 邮件起源的特点sendmaild 邮件起源具有以下几个特点: - 灵活性:sendmaild 邮件起源可以适应不同的邮件系统和网络环境,它可以与其他邮件服务器软件和网络设备进行兼容和集成。
- 可扩展性:sendmaild 邮件起源可以根据需要进行扩展和定制,以满足不同用户和组织的需求。
- 可靠性:sendmaild 邮件起源具有高度的可靠性和稳定性,它可以处理大量的邮件流量,并保证邮件的可靠传递。
三、sendmaild 邮件起源的工作原理sendmaild 邮件起源的工作原理可以简单概括为以下几个步骤:3.1 接收邮件当一个电子邮件发送到一个域名的邮件服务器时,sendmaild 邮件起源首先接收到这封邮件。
它会根据邮件的标头和内容进行解析,并将邮件存储在本地的邮件队列中。
3.2 处理邮件sendmaild 邮件起源会对接收到的邮件进行处理,包括验证发件人身份、检查邮件内容的合法性等。
如果邮件通过了所有的验证和检查,sendmaild 邮件起源会将邮件标记为可信任的,并将其转发给目标邮件服务器。
AIX平台上sendmail使用技巧
简介AIX 操作系统上引入 Sendmail 已经许多年了。
尽管它很难管理,但是非常强大,可以实现一些有趣的功能。
多年来,它帮助我克服了一些难题。
本文讨论我发现的两个关于 AIX 上的 Sendmail 的有趣技巧。
基础知识Sendmail 在 AIX 上的表现与其他 UNIX® 系统不太一样。
因此,我先回顾一下基础知识。
使用startsrc命令启动 Sendmail 守护进程。
例如:# startsrc -s sendmail -a "-bd -q30m"–s标志指定要启动的子系统。
–a标志让startsrc用指定的参数执行子系统。
-bd标志以守护进程(在后台运行)的形式启动 Sendmail,作为 Simple Mail Transfer Protocol (SMTP) 邮件路由器。
–q标志指定 Sendmail 守护进程在邮件队列中保存邮件的时间间隔。
在这个示例中,Sendmail 每 30 分钟处理一次邮件队列。
要想在重新引导时自动地启动 Sendmail 守护进程,只需注释掉 /etc/rc.tcpip 文件中的以下行:# vi /etc/rc.tcpipstart /usr/lib/sendmail "$src_running" "-bd -q${qpi}"执行以下命令显示 Sendmail 守护进程的状态:# lssrc -s sendmail使用stopsrc停止 Sendmail:# stopsrc -s sendmailSendmail 的配置在 /etc/mail/sendmail.cf 文件中,Sendmail 邮件别名文件是/etc/mail/aliases。
如果在 /etc/mail/aliases 文件中添加了别名,一定要重新构建别名数据库,并运行带-bi选项的sendmail命令或 /usr/sbin/newaliases 命令。
SendMail方法
使用已安装的邮件系统发送工作簿。
expression.SendMail(Recipients, Subject, ReturnReceipt)
expression 必需。
该表达式返回一个 Workbook对象。
Recipients Variant 类型,必需。
以文本形式指定收件人的名称,如果有多个收件人,则使用文本字符串数组。
必须至少指定一个收件人,而且所有收件人名单都添加到“收件人”中。
Subject Variant 类型,可选。
指定消息的主题。
如果省略该参数,则使用文档名称。
ReturnReceipt Variant 类型,可选。
如果该值为 True,则要求返回回执;如果该值为 False,则不要求返回回执。
默认值为 False。
Excel VBA教程:SendMail方法·示例
本示例将当前活动工作簿传送给一个收件人。
ActiveWorkbook.SendMail recipients:="Jean Selva"。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MAILER(procmail)
MAILER(smtp)
注意里面的正反引号,而且不能随便加入空格。
然后,用m4程序可以生成一个sendmail.cf:
m4 sendmail.mc > /etc/sendmail.cf
接下来,启动sendmail程序:
killall sendmail
internet address = 128.11.68.225
internet address = 128.11.68.217
显然,在DNS中说明有两个信件交换(MX)服务器,于是,sendmail试图将 邮件发送给两者之一。一般来说,排在前面的的MX服务器的优先级别比较高,因此服务 器将试图连接的25端口,试图将信件报文转发给它。如果成功,你 的smtp服务器的任务就完成了,在这以后的任务,将由来完成。在 一般的情况下,mx交换器会自动把信件内容转交给目标主机,不过,也存在这样的情况 ,目标主机(比如)可能并不存在,或者不执行smtp服务,而是由其mx交换器 来执行信件的管理,这时候,最终的信件将保存在mx机器上,直到用户来察看它。
可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目 标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件缓冲或者 提交给最终投递程序。
有许多的程序可以作为信件传输代理,但是sendmail是其中最重要的一个,事实证明 它可以支持数千甚至更多的用户,而且占用的系统资源相当少。不过,sendmail的配置 十分复杂,因此,也有人使用另外的一些工具,如qmail。当然,基 于Windows NT的Exchange Server和NetScape Message Server也是这种产品的例子。
无论什么产品,它们必须支持同样的规范,如信件传输的报文格式,监听的端口等等 。一般来说,系统管理员并不需要了解信件传输的命令标准,用户代理会生成正确的命 令。但是,了解其他一些信息是重要的。
信件传输代理运行在25端口接受请求,当接受用户的请求时,它不需要了解用户的真 实身份,或者说不需要身份验证。因此用户不需要提交用户口令就可以发出电子邮件, 这意味着任何用户都可以冒充成另外一个用户发出假的电子邮件,这是电子邮件设计的 一个基础,无法消除。(关于这一点目前有一点说明。许多基于UNIX的系统运行indent d,可以记录客户机器上的用户的登录名字。不过,这个功能实际上用处不大,毕竟大部 分人不会用UNIX/Linux作为他的个人机器)。
sendmail发送邮件时,如果经过设定的时间后仍然未能将信件投递到目的主机,它将 返回一个错误信息并且休息一段时间,然后重新试图投递,如果连续多次失败,sendma il最终将放弃投递并将错误信息投递给postmaster用户。在许多机器上,postmaster用 户是root用户的一个别名(参考下面关于别名的内容),你应该将它设置为邮件的实际 管理员的用户名。
openlab IN MX 10 .
mail IN A 202.199.248.11
www IN A 202.199.248.2
mail2 IN A 202.199.248.177
这里面定义了三个MX记录,MX记录的规则是[机器名/域名] IN MX [优先级] [服务 器]。优先级是一个整数,数值越小优先级越高。第一个IN MX 10 .因 为没有机器名,使用来自named.conf的缺省后缀,就是,这个定义也就是让 所有some@的信件传送到。IN MX 20 .的概念差不多,只是其优先数为20,也就是说只有当拒绝接受(比如 ,服务器忙或者当机)的时候,信件才会投递到。openlab IN MX 1 0 .定义凡是someone@的信件要发送到mail2.a ,以此类推。
可以简单地在DNS记录中用MX关键字设置信件交换,例如,在我们的设置中:
@ IN SOA . . (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的 目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器, 并且通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地, 直到电子邮件的接收者察看自己的电子信箱。
显然,邮件传输是从服务器到服务器的,而且每个用户必须拥有服务器上存储信息的 空间(称为信箱)才能接受邮件。(发送邮件不受这个限制)
include(`../m4/cf.m4)
define(`confDEF_USER_ID,``8:12)
OSTYPE(`linux)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
sendmail –bd –q15m
你会发现现在你可以在这台主机上发送电子邮件了。
一般情况下,我们可以象这样用m4程序生成sendmail.cf,通过更改模板来改变sendm ail.cf的内容。一个mc模板文件通常可以包含几个段落:
divert
通常总是设置为divert(-1)让m4在输出中去掉一些垃圾。
mail IN MX 0 mail
IN MX 10 mx2
如果DNS查询无法找出对某个地址的MX记录(通常因为对方没有信件交换主机),那么 sendmail将是试图直接与对方的主机(来自邮件地址)对话并且发送邮件。例如,test@ 在DNS中没有对应的MX记录,因此sendmail在确定MX交换器失败后 ,将从DNS取得对方的IP地址并直接和对方对话试图发送邮件。
MX记录可以使得整个子域内的用户使用同样的邮件主机和传输代理,另外,如果你的 主机不 姨 痪了,那么信件可以暂时存储在你的信件 换主机上,直到你自己的机器恢 复为止。比如说,是一台smtp主机,而是另外 一个smtp主机,你希望在正常的时候直接由其自身收发邮件,而万 一mail崩溃,mx2为它暂时存储一段时间的邮件直到mail恢复正常工作-这是常见的设置 ,那么,你需要把mail以比较高的优先数设置成自己的信件交换主机,而mx2作为一个优 先数较低的信件交换主机,也就是,在你的DNS配置文件中,应该这样配置:
To:other@
Subject:test mail
test
.
那么,当sendmail发信的时候,它是向someone@发信而不是other@ot 。相应地,如果你想向两个人发信,例如你在outlook里面写上:“投递 给user1@,抄送user2@”,那么sendmail应该怎么做?直接同时向两个地址 发信吗?否,它试图构造两个包装(称为信封),每个包装上只列出一个投递地址,各 投递一次。虽然邮件正文的头部仍然包含两个地址,但是sendmail不会看它。
DNS数据中,与电子邮件相关的是MX记录,这可以在查询DNS时设置查询类型为mx来得 到:
[wanghy@mail ~]$ nslookup
Default Server:
Address: 202.199.248.2
set q=mx
要使用宏处理程序,必须确定你已经安装了m4和sendmail-cf这样两个软件包,我们这 里讨论的是sendmail版本8.9.3,缺省下,sendmail-cf安装在/usr/lib/sendmail-cf目 录下。 录下。
我们首先从构造一个简单的可以使用的sendmail.cf文件开始,首先建立这样一个文件 ,称为sendmail.mc,并将其拷贝到/usr/lib/sendmail-cf/cf目录下:
sendmail的配置
邮件服务的一些特殊功能
qmail的简单介绍
7.1 sendmail 和SMTP
7.1.1 smtp和邮件传输代理
sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一 般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。
Server:
Address: 202.199.248.2
Non-authoritative answer:
preference = 0, mail exchanger =
preference = 1, mail exchanger inimum
IN NS .
IN MX 10 .
IN MX 20 .
openlab IN A 202.199.248.6
上面说的基本就是sendmail的工作方式,然而仍然有一个很让人迷惑的东西,就是所 谓“信封地址”。简单地说,当sendmail向目标地址发信的时候,它并不是直接用你的 信件内容发送,相反,它依赖于你给它的命令。例如,你可能会用mail程序向某个地址 这样发信:
$mail someone@
当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递 给那一个服务器,这是通过DNS服务实现的。例如,有一封邮件的目标地址是someone@y ,那么,sendmail首先确定这个地址是用户名(someone)+机器名(yahoo.co m)的格式,然后,通过查询DNS来确定需要把信件投递给某个服务器。
用户代理用来接受用户输入的指令,将用户给出的信件报文传送至信件传输代理。而 投递代理则从信件传输代理取得信件传送至最终用户的邮箱。显然,最终用户只能看到 用户投递代理。
当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用 户代理必须试图去寻找一个信件传输代理,把邮件提交给它。
7.1.2 sendmail的配置
sendmail是一个极为复杂的程序,其行为主要地依赖于在UNIX界“臭名昭著”的/etc /sendmail.cf配置文件。实际上,我怀疑会有谁真的从头去写一个sendmail.cf文件。一 般来说,我们总是用m4宏处理来书写sendmail.cf。实际上,m4程序几乎和sendmail.cf 一样复杂,不过,通常我们只需要关心一些比较重要的部分。