博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云服务器发送邮件失败?连接超时?25端口被封?
阅读量:2061 次
发布时间:2019-04-29

本文共 3264 字,大约阅读时间需要 10 分钟。

大家好,我是烤鸭:

之前用阿里云服务器的时候发送126企业邮箱,用的smtp方式,但是一直超时。百思不得其解。因为在本地环境是可以的。

原来是阿里云服务器限制了25端口。问了126邮箱那边的技术客服,只支持25端口。

问了阿里云的售后,他们说25端口不开放。可以考虑463端口或者他们的邮箱服务。

真是会赚钱啊。

之后研究了一下,还是可以的。

(一)开通服务

   阿里云的服务器可以直接开通邮件服务,每天200封免费。

也没什么麻烦的。直接开通了。

创建域名

(三)查看域名配置

点开上图的配置:(由于我的已经验证通过了,所以状态是验证通过)

四(添加域名解析)

打开控制台的云解析DNS,按照上图的配置4个逐一添加即可。

五(验证)

等几分钟再回到之前的域名列表页面,点击验证即可。

还不懂的看官方文档吧。

六(创建发件邮箱)

七(代码实现java)

package com.mys.my.app.util;import com.adobe.xmp.impl.Base64;import net.sf.json.JSONObject;import javax.mail.Message;import javax.mail.Message.RecipientType;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.Properties;public class SendMail {    String username = "xxxxxxx"; //由哪个邮箱发送邮件,就是在邮箱控制台创建的发信地址    String name="测试";    String password = "xxxxxx"; //发信地址的SMTP密码        private Message getMessage() {        Properties p = new Properties();        p.put("mail.smtp.host", "smtpdm.aliyun.com");   //阿里云smtp服务器地址        p.put("mail.smtp.auth", "true");        p.put("mail.smtp.name", "测试");        p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");        p.put("mail.smtp.socketFactory.port", "465");        p.put("mail.smtp.port", "465");        MyAuthor auth = new MyAuthor(username, password);        Session session = Session.getDefaultInstance(p, auth);        Message message = new MimeMessage(session);        return message;    }    public void sendVerify(String url,String stu_email, String randomNum,String mobile, String singn) throws Exception{            //拼接验证邮箱地址              address = url + address;            Message message = getMessage();            System.out.println("sendVerify:"+message);            //设置自定义发件人昵称                 String nick=javax.mail.internet.MimeUtility.encodeText("测试");                //设置发件人            message.setFrom(new InternetAddress(nick+" <"+username+">"));             //设置收件人            message.setRecipient(RecipientType.TO, new InternetAddress(stu_email));            System.out.println("stu_email:"+stu_email);            //设置发件时间            message.setSentDate(new Date());            //设置标题            message.setSubject("测试");                        //拼接接口参数            Map
map=new HashMap
();            map.put("randomNum", randomNum);            map.put("mobile", mobile);            map.put("email", stu_email);            map.put("singn", singn);            JSONObject paramsJson=JSONObject.fromObject(map);            System.out.println("paramsJson:"+paramsJson);            //对参数进行encode            String base64Params=Base64.encode(paramsJson.toString());            System.out.println("base64Params:"+base64Params);            String m="
测试测试测试测试
";                    //设置发送正文            message.setContent(m, "text/html;charset=gb2312");            System.out.println(message.getSentDate());            //发送邮件            Transport.send(message);    }    public static void main(String[] args) {        SendMail send=new SendMail();        try {            send.sendVerify("","xxxxxxx@qq.com ", "","","");        } catch (Exception e) {            e.printStackTrace();        }    }}

你可能感兴趣的文章
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>