有不少朋友自己研究LINODE配置空间成功以后,不知道怎么装邮件系统,导致无法发送邮件。今天Hunk就来分享两个方法来解决LINODE VPS无法发送邮件的问题
1. 简单的方法 – 安装smtp插件来解决无法发送邮件的问题
优点:操作较简单
缺点:在表单上面发送的时候有点慢
使用工具
126公共邮箱一个
easy wp smtp插件(wp smtp这个插件也可以的,设置方法差不多)
使用方法
1.1 在插件搜索中输入wp smtp 或 easy wp smtp,找到easy wp smtp这个插件并安装激活
1.2 在wp后台-settings里面找到Easy wp smtp 并点击,出跳转到设置页面
1.3 在设置的页面,按如图所示设置 , from email address和 smtp usename都填的是你的126邮箱账号
设置好之后save changes
1.4 然后在已经设置好的CONTACT FORM 表格上面输入测试邮件,提示发送成功。
1.5 然后在收件箱就收到邮箱了,设置是比较简单的。
2. 复杂的方法 – Linode vps上面安装postfix软件并结合gmail解决无法发送邮件的问题
postfix是一种跟smtp功能相似的软件,用来搭建邮件服务器,安装完成后,再利用gmail账号来发送询盘和邮件。
注意:Linode对于2019年11月5号之后注册的账号默认禁止使用了25, 465, 587这三个端口,会导致postfix安装成功之后无法成功发送。如果你的Linode账号是这种情况,那就需要到linode后台去开一个ticket让linode解除端口使用的限制。
优点:发送询盘较快,几乎是秒发,而且不容易进垃圾箱。
缺点:设置有一点复杂
方法如下:
注:以下方法是基于Ubuntu 16.04+nginx系统来操作的,如果你用的是centos,可以自行摸索,方法应该差不多
2.1 安装postfix软件
首先用xshell登录你的空间,然后更新系统,输入以下指令并回车
sudo apt-get update
然后安装postfix,输入以下指令并回车
sudo apt-get install libsasl2-modules postfix
它会弹出这一个框,什么也不做,直接回车
接着会弹出另一个框,把system mail name改成你的域名 www.域名.com,然后点击TAB键,切换到OK,并回车
几S钟就安装完成了。
2.2 获取你的gmail账号的专属密码
具体方法参考怎么样在foxmail上加载gmail邮箱,第一和第二步操作。
2.3 配置postfix文件
首先打开flashfxp,并连接到你的LINODE空间,然后在路径那里输入/etc/postfix 并回车,找到main.cf文件,下载到本地,用notepad++打开
找到myhostname 这一项,把=号后面的值换成你自己的的域名,www.域名.com
再找到relayhost 这一项,把=号后面的值改成 [smtp.gmail.com]:587
然后在main.cf文件内容的最后面加上这一段
# Enable SASL authentication
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Location of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
# Enable STARTTLS encryption
smtp_tls_security_level = encrypt
# Location of CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
然后保存,再上传到空间把原来的文件替换掉。
接着复制以下代码到txt文本中
[smtp.gmail.com]:587 username@gmail.com:password
把username@gmail.com改成你的gmail账号
把password改成你在上文中生成的gmail专属密码
其他的不要改,改好之后再复制
然后在xshell中输入以下代码 并回车
nano /etc/postfix/sasl/sasl_passwd
会打开一个黑框,然后把上面复制的代码粘贴进去
再CTRL+X,会提示你是否保存,再输入y,再回车,即可完成保存。
然后再输入以下指令并依次回车
sudo postmap /etc/postfix/sasl/sasl_passwd 回车
sudo chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db 回车
sudo chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db 回车
然后重启postfix
sudo systemctl restart postfix
2.4 测试是否能发送询盘和是否能收到询盘
测试的结果是能很快发送成功,并且也能很快收到,而且发件箱是gmail账号。这说明设置已经成功!
以上两个方法都可以解决linode vps无法发送邮件的问题,你可以解决自己的需要选择合适的方法来操作。
“2个方法解决LINODE VPS无法发送邮件的问题”上的15条回复
好的,没问题!:)
果然另外一个域名我测试了,也是可以通的,唯一的问题就是测试了几个邮件都是直接进了垃圾箱,是不是因为没有设置过的问题,毕竟是以另外一个域名设置的。
我这边的测试都是能收到的,而且是进的收件箱,没有进垃圾箱。
你的进了垃圾箱,可能是你的邮件内容写了test等之类的内容,又或者是收件箱的误判。毕竟gmail是非常有权威的,一般很少邮箱会把它放进垃圾箱。
那我怀疑是测试太多次了,被另外一个域名最终收件邮箱屏了,那这个会恢复吗。我明天再测试看会不会进垃圾箱,就怕恢复不 了。那以后邮件多了,我每次得从垃圾箱里拉出来了。
说不准,这个一般是收件箱的问题。有时候国外客户正常的邮件都有可能进垃圾。多检查垃圾箱吧。
HUNK威武,这个回复速度太赞了!以后去逛论坛有人提问就给你帖链接去。
刚发了遍没显示留言再发遍,如果不幸被屏了,需要时间恢复吗,我测试太多次了可能,不会永远被屏了吧,那以后要一个一个邮件拉了,少还好,多了就够呛了。
HUNK ,我的CF7提示错误说转发邮箱必须要用站点域名作为邮箱后缀,但是问题是不是ZOHO没有开通SMTP啊,我开着SMTP就显示错误,但是关了,测试表格就说发送成功。当然最终邮箱是没有邮件的。
我要是用第二种方法,我怕CF7还是过不了,因为他如果一定要中转邮箱是为站点域名邮箱的话,那我是不是要把ZOHO的邮箱给换了。头疼。
CF7的提示只是让你做,至于有没有真实存在无所谓的。那只是一个代号。
第一种最简单,第二种比较复杂。没有特别要求用第一种吧。
我第一种死活不成 我换第二种了,第一种不成不知是不是我邮箱解析在linode空间有关?
关于第二种通过gmail中转,多域名用一个gmail中转就是再加一行吗在myhost那
no, just do as i said. then it will work.
HUNK,
实在太感谢了,第二种方法我太喜欢了,好详细好快啊,就是CF7里总是显示中转邮箱不是站点域名配置错误,完美强迫症有点难受
PS:我的额外问题是我空间里有两个域名网站,那个不是输入了一个系统邮箱域名吗,这个是针对整个空间的目录,那我第二个域名我也要加入进去的吧。我可以
在文件里这样直接增加这样的命令吗,这个会出错吗,请问还有什么可以设置的?
感谢你的快速回复,可惜你技术厉害,也回馈不了什么技术支持给你,有需要写口碑点赞的地方通知我。哈哈
CF7只是电话机,本文的两个方法是设置电话线的。明白么
CF7要按它的要求来做。如果是第二种,设置一个就行。一个公司共用一条线打电话就行。
你帮我去宣传下我的博客就行了。
HUNK,我想问如果使用SMTP那个插件的话,在VPS上我的中转邮箱和最终收件邮箱必须是同一个域名后缀吗,因为BLUEHOST是这样要求的,但是VPS可以两个是不同的吗?
可以不同
我刚发完给你,突然醒悟过来,是不是因为我邮箱解析到了LINODE管理的缘故,那就意味着不用SMTP了,然后就也跟BLUEHOST一样设置了。就是两个同域名邮箱的中转?。但是问题是ZOHO可以成功吗。感觉免费的很多都限制了