如何在Linux下安装Sendmail服务器软件的方法

如何在Linux下安装Sendmail服务器软件的方法,第1张

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

 通常的做法都是,关闭本机的sendmail服务,修改/etc/mailrc,增加一下类似两行,指定外部的smtp服务器地址、帐号密码等。

# vi /etc/mailrc
set from=demo@qqcom smtp=smtpqqcom
set smtp-auth-user=demo smtp-auth-password=ithf smtp-auth=login

然后通过命令来发送邮件
echo hello word | mail -s "demo title" demo@qqcom
可是发现在RHEL6运行是没有问题,在RHEL5下,mail命令始终是调用本地的sendmail服务来发送邮件的。到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?

RHEL6下

mail 链接到 mailx 命令,mailx版本为124
# rpm -qa|grep mailx
mailx-124-6el6x86_64
# ll /bin/mail
lrwxrwxrwx 1 root root 5 7月 22 2011 /bin/mail -> mailx
-rwxr-xr-x 1 root root 390424 2月 16 2010 /bin/mailx
# mail -V
124 7/29/08
RHEL5下,则发现了一些不同
mailx 链接到 mail 命令,mailx版本为81
# rpm -qa|grep mailx
mailx-811-4422
# ll /bin/mail
-rwxr-xr-x 1 root mail 84856 Jun 6 2007 /bin/mail
lrwxrwxrwx 1 root root 4 Apr 12 18:03 /bin/mailx -> mail
# mail -V 此处运行就会出错,没有-V这个参数
也就是说,在RHEL6\5下,运行mail 和mailx,实际上都是一个命令,而mail版本不同,导致了RHEL5下mail命令无法调用外部SMTP服务器。

安装mailx新版本可解决此问题。

Linux下的SMTP服务的配置,比较复杂一些,且各发行版本有些差异,以下是一个示例,供参考(建议使用第三个方法

linux下smtp配置方法有几种,具体如下:
方法一,使用mail函数发送邮件;使用时时需要在本地系统上正确设置SMTP,否则将不能发送邮件。由于对系统的依赖性比较大,很多时候很不稳定,在一些提供虚拟主机服务的代理商中使用mail函数发送邮件往往很不好用,所以不推荐使用这种方法。
方法二,使用管道的形式发送邮件,主要是使用php中的popen函数。使用管道的方法发送邮件属于比较底层的 *** 作,它取决于用户调用程序的稳定性。所以相比mail函数,这是一种可选的发送邮件的方式,但是这些本地的邮件系统都太复杂了,用户可能不会配置。
方法三(推荐),使用phpmailer。phpmailer类是一个开源的发送邮件类,可以从>你用的是root用户登录的吗·如果是那可定是已root用户身份发送的
你换那个要发的用户登录发的话,对发收到的就是改用户的邮件地址
而已linux 中默认是root是不能登录邮件系统的所以 root用户是没有邮件地址的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13463621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-12
下一篇 2023-08-12

发表评论

登录后才能评论

评论列表(0条)

保存