jsp,java项目邮箱注册发送邮件
来源:互联网 发布:linux程序设计第4版pdf 编辑:程序博客网 时间:2024/05/01 18:35
由于项目需要用户邮箱注册首先要导入javaMail包,然后在项目中加上下面的程序即可。package com.bikehui.DB.daoImpls;import java.util.Properties;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;/** * * @author songwenju * 发邮件 * */public class SendMail {private String from = ***@163.com"; //你本人要用的邮箱地址,必须是163邮箱private String user = "***";//发件人称号,保证和上一条@之前的内容相同String password = "***"; //发件人邮箱//构造函数public SendMail(){}/** * * @param to * @param text * @param title *//*发送验证信息的邮件*/public void sendMail(String to,String text,String title){Properties props = new Properties();props.setProperty("mail.smtp.host", "smtp.163.com"); // 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器) props.put("mail.smtp.host","smtp.163.com"); // 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条) props.put("mail.smtp.auth", "true"); // 用刚刚设置好的props对象构建一个session Session session = Session.getDefaultInstance(props); // 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使 用(你可以在控制台(console)上看到发送邮件的过程) session.setDebug(true); // 用session为参数定义消息对象 MimeMessage message = new MimeMessage(session); // 加载发件人地址 try{message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 加载收件人地址 message.setSubject(title); // 加载标题 Multipart multipart = new MimeMultipart(); // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件BodyPart contentPart = new MimeBodyPart(); // 设置邮件的文本内容 contentPart.setContent(text,"text/html;charset=utf-8"); multipart.addBodyPart(contentPart);message.setContent(multipart); message.saveChanges(); //保存变化 Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱 transport.connect("smtp.163.com", user, password); // 把邮件发送出去 transport.sendMessage(message, message.getAllRecipients()); transport.close();} catch(MessagingException e){e.printStackTrace();}}/** * * @param to * @param userName * @return */public String sendRegistMail(String to,String userName){String registerId = "" + Math.random() * Math.random();String url = "http://***/RegisterMailBackServlet?registerId=" + registerId+"&userName="+userName;//点击该链接回到项目中String text = "<p>亲爱的用户,您好!感谢您注册bike汇自行车网,请点击下面的链接完成邮箱验证:</p>" +"<a href='"+url+"'>"+url+"</a><br /><p></p>如链接点击无效,您可以将链接复制到浏览器中直接打开。<p>bike汇自行车网</p>"; //发送html格式的邮件到邮箱String title = "[bike汇]网站注册";sendMail(to,text,title);//待会用户点在邮箱中点击这个链接回到你的网站return registerId;} public static void main(String []args){ //做测试用SendMail s = new SendMail();s.sendMail("1565270590@qq.com", "你好,云水", "[bike汇]找回您的帐户密码");}}
补充点内容,现在使用163邮箱登陆要用授权码了,而不是密码登陆,否则会出现
535 Error: authentication failed
授权码设置位置:
3 0
- jsp,java项目邮箱注册发送邮件
- java注册时向指定邮箱发送邮件激活
- java注册时向指定邮箱发送邮件激活
- java使用163邮箱完成发送邮件完成注册
- Java邮箱自动发送邮件
- 注册页面完成。自动给所有邮箱发送激活邮件
- java mail(发送邮件--163邮箱)
- java程序实现邮箱发送邮件功能
- java调用163邮箱发送邮件
- java调用163邮箱发送邮件
- java自动发送邮件到目标邮箱
- Java发送邮件给其他邮箱
- Java通过QQ邮箱发送邮件
- java mail(发送邮件--163邮箱)
- java通过qq邮箱发送邮件
- 公司内部邮箱服务器发送邮件 java版
- 简单的java实现邮箱发送邮件
- 纯Java实现网易邮箱发送邮件
- [Python]Eclipse安装配置PyDev插件
- STAF/STAX 安装配置
- MapReduce Design Patterns(7、输入输出模式)(十三)
- 使用 Google V8 引擎开发可定制的应用程序
- WCF技术简单入门
- jsp,java项目邮箱注册发送邮件
- hadoop 处理日志
- 【第七章·查找技术】思维导图
- poj1915 简单bfs
- svn ubuntu
- Lombok(1.14.8)的简单示例
- easyui-accordion 设置默认选项卡
- ★★★同时支持iexplorer和firefox的javascript复制拷贝信息到剪贴板方法
- 虚拟机界面大小自适应设置