⑴ 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 命令模式下怎么配置邮件服务器
Linux什么系统的?如果是AS5.5的话...那我现在在下面打的就是=
=...
十分还真不好拿啊~建议LZ加点分-
-看在写的那么辛苦的份上..
物理机IP:192.168.10.100
域名:www.aiy.com
首先先设置DNS
mkdir
/mnt/cdrom
mount
-t
iso9660
/dev/cdrom
/mnt/cdrom
(挂载ISO...因为我用的是虚拟机=
=没有光盘..)
cd
/mnt/cdrom/Server/
rpm
-ivh
caching-chroot-9.3.3-7.el5.i386.rpm
rpm
-ivh
bind-*
vim
/etc/name.rfc1912.zones
=
=里面配置文件太长了...直接说哪一行吧-
-反正都差不多~只要是AS5.5的话
15行:localdomin修改为aiy.com
17行:localdomain.zone改为aiy.com.zone
27行:0.0.127改为本地前三位倒过来...10.168.192
29行:name.local改为192.168.10.zone
输入Shift+;
然后输入wq!强制保存并退出
vim
/etc/named.caching.nameserver.conf
15行127.0.0.1改为any
23行localhost改为any
32行、33行localhost改为any
cd
/var/named/chroot/var/named
cp
-p
localdomain.zone
aiy.com.zone
cp
-p
named.local
192.168.10.zone
vim
aiy.com.zone
在最后加mail
(TAB键对齐就好了)
IN
A
192.168.10.100
aiy.com
IN
MX
5
mail.aiy.com
同样
输入Shift+;
然后输入wq!强制保存并退出
vim
192.168.10.zone
同样在最后加100
IN
PTR
mail.aiy.com(注意空格同样是tab)
输入Shift+;
然后输入wq!强制保存并退出
(=
=下面的话这两句忽略掉了...太麻烦了)
ln
-s
aiy.com.zone
/var/named/
ln
-s
192.168.3.zone
/var/named/
vim
/etc/resolv.conf
nameserver
192.168.10.100
service
named
restart
试试
nslookup
mail.aiy.com
=
=DNS打完...然后MAIL等下继续..先提交保存=
=
-
-现在继续..
-
-继续...挂载省略了...直接安装
cd
/mnt/cdrom/Server
rpm
-ivh
m4-*
rpm
-ivh
sendmail-*
(一开始安装系统时候我没安装...所以现在挂载~如果一开始有选sendmail的话54掉就可以了..=
=再次~)
前面其实就设置好了mail服务的DNS...
cd
/etc/mail
vim
local-host-names
在最下面输入aiy.com
vim
sendmail.mc
116行127.0.0.1改为0.0.0.0
m4
sendmail.mc
>
sendmail.cf
cd
/etc/init.d
./saslauthd
restart
./sendmail
restart
./dovecot
restart
useradd
aiy
建立aiy用户
passwd
aiy
123456
123456
用户aiy密码设置为123456
mail
[email protected]
123
(标题)
123
(内容)
ctrl+d
然后信息就发完了..
T.T终于轮到测试了~...
su
aiy
切换到aiy用户
mail
查看aiy用户的mail
=
=这样就完了...现在发现aiy里面有份root邮件吧...T.T
还能输入
8917
字-
-不知不觉打了很多字了=
=
我QQ
1842534312不懂可以问我..
-0-可以转载~但是请保留全部...
⑶ 在Linux下怎样进行邮件服务配置
回答:figoo
新手
5月16日 11:52 配置电子邮件服务
利用电子邮件服务,您可以在计算机中安装一些组件并将该计算机配置为电子邮件服务器。电子邮件服务包括邮局协议 3 (POP3) 服务以及简单邮件传输协议 (SMTP) 服务,分别用于接收和传送电子邮件。为了向用户提供电子邮件服务(如发送和接收电子邮件),管理员可以在服务器上创建一些邮箱。
POP3
POP3 服务是一种用来接收电子邮件的电子邮件服务。管理员可以使用 POP3 服务,在邮件服务器上存储和管理电子邮件帐户。在邮件服务器中安装了 POP3 服务后,用户即可使用支持 POP3 协议的电子邮件客户端(如 Outlook 或 Outlook Express)连接到邮件服务器,并将电子邮件接收到其本地计算机中。POP3 服务与用来发送外发电子邮件的 SMTP 服务结合使用。
SMTP
SMTP 控制将电子邮件经由组织或 Internet 向目标服务器传输和递送的方式。SMTP 在服务器之间接收和发送电子邮件。在安装 POP3 服务时,就会自动在计算机中安装 SMTP 服务以允许用户发送外发电子邮件。当使用 POP3 服务创建域时,还会将该域添加到 SMTP 服务中,以允许该域中的邮箱发送外发电子邮件。邮件服务器中的 SMTP 服务接收传入的邮件,并将该电子邮件传送到邮件存储中。
设置电子邮件服务
要安装电子邮件服务,请按照以下步骤操作:
1.
以“[email protected]”的身份登录到“HQ-CON-DC-01”中。
2.
单击“开始”按钮,单击“控制面板”,然后单击“添加或删除程序”。
3.
单击“添加/删除 Windows 组件”,选择“电子邮件服务”复选框,然后单击“下一步”。(注意,您可能需要提供安装 CD 才能继续。)
4.
在“Windows 组件向导”完成后,单击“完成”,然后关闭“添加或删除程序”屏幕。
要配置电子邮件服务,请按照以下步骤操作:
1.
单击“开始”按钮,指向“所有程序”,指向“管理工具”,然后单击“POP3 服务”。
2.
在“POP3 服务”下面,在左侧树中单击“HQ-CON-DC-01”。
3.
单击“新域”链接,键入“contoso.com”作为“域名”,然后单击“确定”。
4.
在右窗格中,双击“contoso.com”。在“HQ-CON-DC-01”下面,左窗格中的树将展开并显示“contoso.com”域。单击“添加邮箱”链接。
5.
在“添加邮箱”屏幕上,键入“mike”作为“邮箱名”,清除“为此邮箱创建相关联的用户”复选框,单击“确定”,在出现“POP3 服务”确认屏幕后,再次单击“确定”。
6.
再次单击“添加邮箱”链接,重复步骤 5 为“Administrator”创建邮箱。
注意:由于 Active Directory 帐户是在安装电子邮件服务之前建立的,因此,需要对邮箱进行手动配置。如果登录和邮箱名相同,POP3 服务配置将使用关联的电子邮件地址来更新 Active Directory 用户信息。在定义新的邮箱时,POP3 服务可以自动创建用户帐户。
7.
最小化“POP3 服务”MMC。
要测试基本电子邮件功能,请按照以下步骤操作:
1.
单击“开始”按钮,指向“所有程序”,然后单击“Outlook Express”。
2.
在“Internet 连接向导”屏幕上,键入“Contoso Administrator”作为“显示名”,然后单击“下一步”。
3.
键入“[email protected]”作为“电子邮件地址”,然后单击“下一步”。
4.
在“接收邮件服务器”和“发送邮件服务器”中,键入“HQ-CON-DC-01”,然后单击“下一步”。
5.
在“Internet 邮件登录”屏幕上,将登录名更改为“[email protected]”并提供“Administrator”帐户的“密码”,然后单击“下一步”。
6.
单击“完成”。
7.
单击“发送/接收”按钮,以确保能够与电子邮件服务器成功交互。
8.
单击“创建邮件”,将邮件地址指定为“[email protected]”,键入“Test Mail”作为“主题”,然后单击“发送”。
9.
最大化“POP3 服务”MMC。
10.
在右侧的结果窗格的“HQ-CON-DC-01”树下面,确认 mike 的“邮箱”中有一封邮件,然后关闭“POP3 服务”MMC。
揪错 ┆ 评论1 ┆ 举报
⑷ mail服务器 配置方法
搭建一套邮件系统其实并不是一件庞大的工程,一套邮件系统的搭建构成可以分为以下三个部分:邮件服务器硬件、域名和固定ip地址、邮件服务器软件,搭建的便捷与否决定于邮件服务器软件的易用程度。(本文章以turbomail为例进行邮件系统的搭建说明)
一,邮件服务器硬件:最低配置要求piii以上,512m内存,硬盘在40g以上。
二,域名和ip地址:需要有独立的域名,并有更改mx记录的权限,内网用户可以使用自定义域名;需要有互联网固定ip,没有固定ip采用动态ip绑定域名软件也可。
三,邮件服务器软件:目前市场上的邮件服务器软件很多,比如exchange, mdaemon,imail,turbomail等,价格不等,质量也不等,售后服务也不等,建议用户综合比较价格,质量和技术服务,并索取试用期进行测试后进行选择(本文章以turbomail为例进行邮件系统的搭建说明)
搭建步骤:
一,在购进了服务器硬件后首先是要安装操作系统,建议用户使用linux操作系统,非常稳定,在熟悉代码后操作也不麻烦,邮件服务器最关键的就是稳定性,有了好的操作系统就有了稳定的保障。
二,域名请向域名供应商申请,国内比较大的有万网和新网,域名供应商提供域名解析的服务;mx记录可以通过域名供应商提供的管理界面进行修改。
三,有了这以上两个前提后就可以安装邮件服务器软件了。不同的邮件服务器软件的安装方法和简易度不同,我以国内最易安装的turbomail邮件服务器为例讲解安装过程:
1,下载安装包,请上官网直接下载。
2a,windows系统:双击下载的安装包,按照安装提示完成安装
3a,重启电脑
4a,电脑重启后,自动出现turbomail控制台,点击“运行mail服务器”和“运行webmail服务器”,启动邮件服务程序
1b,linux/solaris/aix/hp-ux/freebsd系统下:以root用户登录,解压安装包,生成turbomail安装目录,解压命令为:#tar -xvzfturbomail_linux_yyy_xxx.tgz
(注意:turbomail安装包必须放在根目录上)
2b,启动turbomail server,进入turbomail目录,执行starttm.sh,命令为:#./starttm.sh
3b,启动webmail服务,进入进入 turbomail/web/bin 目录,执行startup.sh。
命令为:#./startup.sh
4b,启动反垃圾服务,进入 turbomail/sa目录,执行sa_server.sh。命令为: #./sa_server.sh
四,邮件系统已经安装完毕,登录http://服务器ip:8080/maintlogin.jsp 进入管理员界面,添加域和用户后即可正式使用邮件系统了。
这样,您的邮件系统就已经搭建完毕,之后就需要做一些邮件服务器软件的细节性能配置工作,比如用户邮箱大小控制,收发邮件权限控制,反垃圾反病毒功能设置等等,这些就需参考邮件服务器软件供应商的使用说明书和咨询技术工程师了。
⑸ 在linux云服务器上怎么配置smtp协议mail客户端
主要步骤:
1. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm –qa |grep sendmail
sendmail-8.11.0-8
2. 卸载sendmail:
[root@mail /root]# rpm -e sendmail –nodeps
3. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
如果系统提示:
sendmail: no process killed
则说明当前系统中没有sendmail进程。
4. 安装postfix:
[root@mail /root]# rpm -ivh postfix-20010228release-2.i386.rpm
若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)
5. 安装imap
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm
imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)
若已经安装,则此步可以省略。
6. 检查系统中是否安装了cyrus-sasl
执行以下命令查看系统中是否安装了cyrus-sasl:
rpm –qa |grep cyurs
如果您看到以下提示,则说明已经安装了cyrus-sasl
[root@test bye2000]# rpm -qa |grep sasl
cyrus-sasl-devel-1.5.24-17
cyrus-sasl-1.5.24-17
否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。
7.修改postfix用户
同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用
的用户宿主目录。
编辑/etc/passwd文件中的相关条目如下所示:
postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]
即:修改用户的Home directory和Shell 参照 /etc/passwd文件
8.编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:
1)mydomain
指明你的域名,在这里我们指定:
mydomain = xx.com
2)myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。在这里我们指定:
myorigin = $mydomain
3)inet_interfaces
inet_interfaces = all 监听所有端口
4)mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
系统要接收什么样的邮件。通常与myorigin一样:
mydestination = $mydomain
5)mynetworks_style
设置网络类型,我们指定:
mynetworks_style = subnet
6)ynetworks
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们
指定:
mynetworks = 192.168.1.0/24
注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更细。根据需要,该项可以不设置。
7)SMTP的配置
为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/main.cf文件的最后添加以下几行:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
说明如下:
smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。
broken_sasl_auth_clients = yes
有一些Microsoft 的SMTP客户端,比如Outlook Express 4.X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。
smtpd_sasl_security_options = noanonymous
控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。
9.配置SASL
进入/usr/lib/sasl/目录,用touch新建这样一个文件:
[root@test sasl]# touch smtpd.conf
在该文件中加入以下内容:
[root@test sasl]# more smtpd.conf
pwcheck_method:pam
也就是指定通过PAM来进行用户认证。
10.配置PAM
进入/etc/pam.d/目录,用touch新建这样一个文件:
[root@test pam.d]# touch smtp
在该文件中加入如下内容:
[root@test pam.d]# more smtp
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
也即和/etc/pam.d/pop文件的内容是一致的。
11.修改/etc/shadow文件权限
因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件
权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。
执行以下命令,让root组也可以读取shadow:
[root@test /etc]# chmod 640 /etc/shadow
然后再将postfix用户加入root组,采用以下命令:
[root@test /etc]# usermod -G root postfix
12.编辑postfix的主要配置文件/etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
这里开始
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
这里结束
#628 inet n - n - - qmqpd
把我标的注释部分去掉即可。
13.配置pop3
RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑
/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3
服务。
为了使改动生效,执行以下命令:
/etc/rc.d/init.d/xinetd reload
14.启动postfix
执行以下命令启动postfix:
/etc/rc.d/init.d/postfix start
这样,一个支持SMTP认证的postfix邮件服务器就配好了。
⑹ linux下如何发送mail,难道一定要开smtp服务吗
是的
Linux下的SMTP服务的配置,比较复杂一些,且各发行版本有些差异,以下是一个示例,供参考(建议使用第三个方法)
linux下smtp配置方法有几种,具体如下:
方法一,使用mail函数发送邮件;使用时时需要在本地系统上正确设置SMTP,否则将不能发送邮件。由于对系统的依赖性比较大,很多时候很不稳定,在一些提供虚拟主机服务的代理商中使用mail函数发送邮件往往很不好用,所以不推荐使用这种方法。
方法二,使用管道的形式发送邮件,主要是使用php中的popen函数。使用管道的方法发送邮件属于比较底层的操作,它取决于用户调用程序的稳定性。所以相比mail函数,这是一种可选的发送邮件的方式,但是这些本地的邮件系统都太复杂了,用户可能不会配置。
方法三(推荐),使用phpmailer。phpmailer类是一个开源的发送邮件类,可以从http://phpmailer.sourceforge.net官网下载,它含两个文件class.smtp.php和class.phpmailer.php。代码如下
include_once("class.phpmailer.php");
/**
* 定义邮件模块配制信息
*/
define("SMTP_HOST","smtp.mail.yahoo.com"); // SMTP 主机
define("SMTP_MAIL"," [email protected]"); // SMTP 用户email
define("SMTP_PASS"," XXXX"); // SMTP 用的密码
define("SERVICE_MAIL"," [email protected]"); // SMTP 用户email
define("SERVICE_NAME","PHPBOOK邮件测试"); // SMTP 用的名字
/**
* 使用phpmailer发邮件模块
*
* @param string $email
* @param string $user
* @param string $subject
* @param string $body
* @return bool
*/
function sendMail($email,$user,$subject,$body)
{
$mail = new PHPMailer();
//$this;
$mail->IsSMTP(); // 设置使用SMTP
$mail->Host = SMTP_HOST; // 设置SMTP服务器地址
$mail->SMTPAuth = true; // 打开SMTP权限验证
$mail->Username = SMTP_MAIL; // SMTP 用户名
$mail->Password = SMTP_PASS; // SMTP 服务器密码
$mail->From = SERVICE_MAIL; // 设置发送者地址
$mail->FromName = SERVICE_NAME; // 设置发送者名字
$mail->AddAddress($email, $user); // 添加接收者地址
$mail->AddReplyTo(SERVICE_MAIL, SERVICE_NAME); // 设置回复地址
$mail->WordWrap = 50; // 设置显示格式
$mail->IsHTML(true); // 设置邮件支持html
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = ""; // 文本类型的邮件
if(!$mail->Send())
{
return $mail->ErrorInfo;
}
return true;
}
//开始发送测试邮件ng: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/xiehui/admin/mail/class.smtp.php on line 89
$tomail = " [email protected]";
$user = " XXXXlinux";
$_mailSubject = "邮件测试示例!"; // 发给用户的邮件标题小组
$_mailBody = "新浪网"; // 邮件内容小组
sendMail($tomail,$user,$_mailSubject,$_mailBody);
?>
实验证明yahoo的smtp很好用,号称sina的其实并不好用,我卡在着好长时间。
方法四,给予socket编写的程序,源代码如下
使用socket发送邮件的封装类:
class sendmail{
var $lastmessage; //记录最后返回的响应信息
var $lastact; //最后的动作,字符串形式
var $welcome; //用在HELO后面,欢迎用户
var $debug; //是否显示调试信息
var $smtp; //smtp服务器
var $port; //smtp端口号
var $fp; //socket句柄
//发送邮件函数
function send_mail($smtp, $welcome="", $debug=false) {
if(empty($smtp)) die("SMTP不能为空!");
$this->smtp=$smtp;
if(empty($welcome)) {
$this->welcome=gethostbyaddr("localhost");
}else
$this->welcome=$welcome;
$this->debug=$debug;
$this->lastmessage="";
$this->lastact="";
$this->port="25";
}
//显示调试信息
function show_debug($message, $inout) {
if ($this->debug) {
if($inout=="in"){ //响应信息
$m='<< ';
}else
$m='>> ';
if(!ereg("\n$", $message))
$message .= "
";
$message=nl2br($message);
echo "${m}${message}";
}
}
//执行传递的命令
function do_command($command, $code) {
$this->lastact=$command;
$this->show_debug($this->lastact, "out");
fputs ( $this->fp, $this->lastact );
$this->lastmessage = fgets ( $this->fp, 512 );
$this->show_debug($this->lastmessage, "in");
if(!ereg("^$code", $this->lastmessage))
return false;
else
return true;
}
//邮件发送处理
function send( $to,$from,$subject,$message) {
//连接服务器
$this->lastact="connect";
$this->show_debug("连接到SMTP 服务器: ".$this->smtp, "out");
$this->fp = fsockopen ( $this->smtp, $this->port );
if ( $this->fp ) {
$this->set_socket_blocking( $this->fp, true );
$this->lastmessage=fgets($this->fp,512);
$this->show_debug($this->lastmessage, "in");
if (! ereg ( "^220", $this->lastmessage ) ) {
return false;
}else{
$this->lastact="HELO " . $this->welcome . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
$this->lastact="MAIL FROM: $from" . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
$this->lastact="RCPT TO: $to" . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
//开始发送邮件正文
$this->lastact="DATA\n";
if(!$this->do_command($this->lastact, "354")){
fclose($this->fp);
return false;
}
//开始处理邮件主题头
$head="Subject: $subject\n";
if(!empty($subject) && !ereg($head, $message)){
$message = $head.$message;
}
//开始处理邮件From头
$head="From: $from\n";
if(!empty($from) && !ereg($head, $message)) {
$message = $head.$message;
}
//开始处理邮件To头
$head="To: $to\n";
if(!empty($to) && !ereg($head, $message)) {
$message = $head.$message;
}
//处理结束串
if(!ereg("\n\.\n", $message))
$message .= "\n.\n";
$this->show_debug($message, "out");
fputs($this->fp, $message);
$this->lastact="QUIT\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
}
return true;
}else{
$this->show_debug("连接失败!!", "in");
return false;
}
}
}
?>
使用socket发送邮件示例:
include ("./sendmail.class.php");
$mail = new sendmail();
$email = "您好,这是一个测试邮件!";
$sendmail = new send_mail("smtp.mail.126.com","PHPBOOK",true); //显示调示信息
if($mail->send("[email protected]", "[email protected]", "测试SOCKET邮件", $email)) {
echo "发送成功!
";
}else{
echo "发送失败!
";
}
?>
⑺ linux 下如何收发电子邮件!详细配置过程!
[font=宋体][/font][color=Red][/color]
1前言
本教程旨在给未用过Linux系统的人提供一个快速入门的途径,使其能迅速上手,用好收发电子邮件,进行文件传输与远程登录等网络功能,并提供了深入学习Linux的资料源。
Linux系统的历史与应用
LINUX 是一个叫LINUS的芬兰人写的操作系统,他的初衷是把只能在大型工作站上运行的UNIX移植到个人PC上来。本着共享的精神,他在网络上公布了LINUX 0.01版,很快,借助于世界各地的电脑高手们的业余“创作”,LINUX迅速的成长壮大起来,以至于在网络中的很多PC机中安家落户,版本也做到了2.0。
LINUX的操作风格很类似UNIX,对网络的支持也很完备。一个LINUX系统的用户无论是收发电子邮件还是文件传输,都可以轻松的解决问题。
3 认识SHELL
在INTERNET网中的一般用户要接触到LINUX,大概只能通过远程登录的方法—
即TELNET程序,作为一个(伪)终端使用LINUX。所以还是先介绍一下如何登录。
举个例子,要登录本校的PEANUT机器:
开启TELNET 程序(以WIN95/NT中的TELNET为例),在“连接”—“远程系统”中填入
PEANUT.CDIT.EDU.CN
作为连接的对象,
屏幕显示:
Welcome to Cheng University of Technology
欢迎访问成都理工大学校园网络
peanut login:[在这里填你的用户名]
password: [你的口令]
peanut:~$ [这就是登录进去后的提示符]
peanut:~$ exit [还是先退出吧]
4 认识文件系统
LINUX的文件系统与DOS基本是一样的(其实应该反过来说),都具有目录和文件的概念,也都有一个根目录,稍稍不同的是目录用“/”代表,而不是DOS中的“\”。
一个例子:
peanut:~$ pwd [回车]
peanut:~$ /home/home2/rudey [表示你现在位于根目录下的home目录下home2目录下的rudey目录(有些拗口 J )。]
你一定想到了,既然文件系统都差不多,操作一定也差不到哪去。对,下一节就以与DOS命令对照的形式介绍LINUX的基本操作。
5 命令列表
含义
LINUX
DOS
改变当前目录
cd [path]
cd [path]
文件或目录的复制
cp filename1 filename2
filename1 filename2
文件目录列表
ls
dir
建立新目录
mkdir
md
分屏显示[文本]文件的内容
more [filename…]
more <[filename]
更改用户的口令
passwd
无
显示当前目录
pwd
cd
删除文件[可有通配符]
rm filename
del filename
删除空目录
rmdir pathname
rd pathname
清屏
clear
cls
6常用的网络程序
收发电子邮件用的MAIL,PINE软件
MAIL和PINE都是运行在LINUX中的收发邮件的程序,PINE由于是菜单式的操作,相比之下较MAIL简单一些。在这里给大家一个提醒:MAIL中用“h”可获得操作的帮助;在PINE 中能用的命令都显示在屏幕底部的一行中,要仔细看一看就会用了。
要用的话,在SHELL中,即提示符下,输入MAIL或PINE就行了。如下:
peanut:-$ mail [回车]
或
peanut:-$ pine [回车]
文件传输
文件传输是在网络中免费获得软件的一个方法,LINUX当然也有相应的程序供使用。
peanut:-$ ftp [回车]
ftp> o ftp.cdit.e.cn [在这里输入各种指令,现在表示与ftp.cdit.e.cn 站点建立连接]
在欢迎信息之后,可用的指令有ls [列远端机上的目录或文件],cd [进入某一级目录],bin[设置为二进制模式,传二进制文件时使用],get [下传文件],quit [结束本程序]等。
提醒:建立连接之后,会有USER[用户名]的输入要求,在一般匿名FTP站点上,可以用anonymous[匿名]或ftp作为用户名,你自己的电子邮件地址作为PASSWORD[口令]。
远程登录
用远程登录可以做的事情很多,到别的学校的BBS上看看,没有TELNET是不行的(当然现在也有WWW方式的BBS)。
peanut:-$ telnet bbs.cdit.e.cn [访问本校的BBS 公告板 ]
要是玩MUD的话,可以这么做:
peanut:-$ telnet mud.cdit.e.cn 4000 [访问本校的MUD站点,使用4000端口]
登录以后的事情,留着给你自己看吧。
7 资料源
BBS上的LINUX信息
1 bbs.cdit.e.cn下的精华区里有许多好文章
2 bbs.tsinghua.e.cn有专门讨论LINUX的板
新闻组中的LINUX信息
comp.os.linux.help
文档
1 LINUX:我要创造一个新世界 《软件》(1997/11)
2 LINUX 使用指南 (清华大学出版社1997 年8月第1版)
3 LINUX 管理者的参考
8结束语
本来还想做一个FAQ,希望大家把在使用LINUX过程中遇到的问题寄给我,一方面会作答;一方面也能把FAQ写出来。
⑻ linux已经登录到系统的两个用户无法使用mail命令收发电子邮件,请问应采取什么
你好很高兴回答您的问题:
排查流程,检查网络,域名解析是否正常
防火墙是否放行邮件25或465端口
检查是否配置/etc/mail.rc
如果是云服务推荐使用465发送邮件,不容易屏蔽.
⑼ linux使用mail命令-- -f指定发件人时出错
把发件人地址加上-r,放在收件人地址的前面
mail -s "hello world" -r [email protected] [email protected] < a.txt
⑽ linux怎么用命令发送邮件
linux系统默认开启发送邮件功能,但只能linux用户间发送邮件,不能发送外部邮件。
方法:
1. 查看sendmail进程是否开启。你在shell输入 ps -aux | grep 'sendmail'
2. 使用mail命令发送邮件,例如发送给root用户
mail -s 'send mail' root 按回车键
3. 输入邮件内容
4. 按ctrl+d发送,按ctrl+c退出
5. 切换到root用户,你就可以看到一封邮件,邮件存放在/var/mail/root文件里
mail命令用法:mail -s '邮件标题' 用户名
你可以搜索mail命令
是否可以解决您的问题?