Jsp 实现Email发送,QQ邮箱发送时530错误的解决

  • 来源:新网
  • 更新日期:2018-03-13

摘要:1.163邮箱与QQ邮箱进行测试         * 163邮箱的安全验证没有那么严格 ,所以可以忽略一下操作.直接看代码    1.1.首先确定你需要用来发送的qq,进入QQ邮箱开启ssl.               * qq邮箱 > 账户  >图中箭头位置               1.2.需要复制其中的一个授权码.在代码中代替密码使用. 代码:

1.163邮箱与QQ邮箱进行测试

* 163邮箱的安全验证没有那么严格 ,所以可以忽略一下操作.直接看代码


1.1.首先确定你需要用来发送的qq,进入QQ邮箱开启ssl.

* qq邮箱 > 账户 >图中箭头位置


1.2.需要复制其中的一个授权码.在代码中代替密码使用.



代码:


 

<% //解决中文乱码 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); // 以下变量为用户根据自己的情况设置 String smtphost = "smtp.qq.com"; // 发送邮件服务器 String user = "911111111@qq.com"; // 邮件服务器登录用户名 String password = "jsdflkjflkjalfk"; // 邮件服务器登录密码 qq邮箱生成的授权码 在开启那可生成 String from ="212132131@qq.com"; // 发送人邮件地址 String to = "3121321@qq.com"; // 接受人邮件地址 String subject = "我是标题"; // 邮件标题 //String body = "JavaMail 电子邮件发送系统,JavaMail 电子邮件发送系统,JavaMail 电子邮件发送系统"; // 邮件内容是文本 String body1="我是内容!"; //邮件内容 // 以下为发送程序,用户无需改动 try { Properties props = new Properties(); // 配置文件对象 props.put("mail.smtp.host", smtphost); // 设置邮件服务器 props.put("mail.smtp.auth","true"); // 是否进行验证 //下面四句是使用QQ邮箱 需要的配置 163邮箱可以不需要 MailSSLSocketFactory sf=new MailSSLSocketFactory(); //配置ssl sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf); Session ssn = Session.getInstance(props, null);// 创建一个会话 MimeMessage message = new MimeMessage(ssn);// 创建一个MimeMessage对象。 InternetAddress fromAddress = new InternetAddress(from);// 设置 From: 头部的header字段 message.setFrom(fromAddress); InternetAddress toAddress = new InternetAddress(to);// 设置 To: 头部的header字段 message.addRecipient(Message.RecipientType.TO, toAddress); /* 如果想要把邮件发送给多人,下面列出的方法可以用来指明多个邮箱地址: addRecipients(Message.RecipientType type, Address[] addresses) */ message.setSubject(subject);// 设置 Subject: header字段,邮件标题 //message.setText(body); // 设置的文本消息 message.setContent(body1,"text/html;charset=gbk" );// 设置 HTML消息 Transport transport = ssn.getTransport("smtp"); // 获取邮件服务器 transport.connect(smtphost, user, password); // 连接邮件服务器 transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));// 发送邮件 transport.close(); // 关闭连接 %> <p>你的邮件已发送,请返回。</p> <% } catch(Exception e) { out.println(e.toString()); e.printStackTrace(); } MyEmailDao myEmailDao=new MyEmailDaoImpl(); MyEmail myEmail=new MyEmail(title,myself, recipients); myEmailDao.addEmail(myEmail); %>