您的位置:首页 > 运维架构 > Linux

Linux上的服务器无法调用新浪邮箱发送邮件

2017-03-30 15:09 363 查看
问题背景:

在web网站开发中,有许多功能的实现需要发送邮件,比如用户的密码找回功能,可能就需要通过服务器向用户的注册邮箱发送验证码邮件来实现。而发送邮件功能可以通过很多方式实现,比如HTML中的mailto属性值,或者java代码,这两种方法网上有很多实例,我在这里就不浪费大家的流量了。当然,许多开发框架本身也是具有邮件发送功能的,你只需要调用其本身的方法。

问题描述:

我们通过不同方式,实现了网站的邮件发送功能,但是,当我们将工程发布在Linux服务器上后,点击发送按钮,却发现服务器后台日志报错,说是无法调用邮件服务。

问题解决:

问题产生的原因是因为Linux服务器(假如此服务器为192服务器)使用的是局域网,没有邮箱IP(假设此处使用的邮箱为新浪邮箱)访问权限,因此无法访问。按照以下步骤,即可解决该问题:

1、登录新浪邮箱,在邮箱的设置中,开启新浪邮箱的smtp和pop的功能。

2、向你公司的网络管理员申请开通192服务器的访问新浪邮箱的权限,也即是访问smtp.sina.com和pop.sina.com这两个域名对应IP的权限,这两个域名的对应的IP不唯一,你只需要各自获取一个IP即可。

获取方式:打开Windows的命令窗口,然后分别使用ping指令,获取smtp.sina.com和pop.sina.com这两个域名的IP,如下图所示:



可知smtp.sina.com域名的一个IP地址为202.108.6.242,以同样方式获取pop.sina.com的IP。

3、登录192服务器,首先,指令 cd /etc/sysconfig/network-scripts进入到该目录下 ;

然后,指令 vim ifcfg-eth0 进入该文件的vim编辑器;

如下图修改该文件内容,红框中的信息必须拥有,根据具体情况修改DNS1和DNS2的内容



上面配置信息完成后退出vim编辑器,

指令 service network restart
重启网络服务,该指令只是重启Linux的网络服务,对Linux上的工程没有影响。

4、修改192服务器的hosts配置文件,添加两条配置信息

210.83.210.155 smtp.sina.com
202.96.69.38 pop.sina.com注意:上面的IP要根据实际情况修改,上面的域名要和IP一一对应,我这里只是写了一个示例,不要照抄。
5、在Linux上,指令 ping smtp.sina.com ,若可以ping通,那么,恭喜你,配置成功了,赶快试试你的工程能不能发送邮件吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: