java 发送邮件
2013-03-11 14:06
232 查看
以一个web项目为例,代码是可以移植的
首先要导入mail.jar包,然后创建自己的类
1:HTMLSender类
2:MyAuthenticator类
3:MailAction类,前两个类只要完整的移至到你的项目中就可以(要把第一行对应的包名改一下),下边这个类,只要把带注释的内容修改为自己需要的就可以了;
首先要导入mail.jar包,然后创建自己的类
1:HTMLSender类
package com.txq.mail; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; /** * * @author Administrator * */ public class HTMLSender { private MimeMessage message; private Properties props; private Session session; private String name = ""; private String password = ""; public HTMLSender(String host,String name,String password) { this.name = name; this.password = password; props = System.getProperties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth","true"); MyAuthenticator auth = new MyAuthenticator(name,password); session = Session.getDefaultInstance(props,auth); message = new MimeMessage(session); new MimeMultipart(); } public void setFrom(String from) { try { message.setFrom(new InternetAddress(from)); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } public void setTo(String to) { try { message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to)); } catch(AddressException e) { e.printStackTrace(); } catch(MessagingException e) { e.printStackTrace(); } } public void setSubject(String subject) { try { message.setSubject(subject); } catch(Exception e) { e.printStackTrace(); } } public void setContect(String content) { try { message.setContent(content,"text/html;charset=utf-8"); } catch(Exception e) { e.printStackTrace(); } } public boolean send() { try { Transport transport = session.getTransport("smtp"); transport.connect((String)props.get("mail.smtp.host"),name,password); transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); transport.close(); return true; } catch(NoSuchProviderException e) { e.printStackTrace(); return false; } catch(MessagingException e) { e.printStackTrace(); return false; } } }
2:MyAuthenticator类
package com.txq.mail; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class MyAuthenticator extends Authenticator{ String name; String password; public MyAuthenticator(String name,String pasword) { this.name = name; this.password = pasword; getPasswordAuthentication(); } protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(name,password); } }
3:MailAction类,前两个类只要完整的移至到你的项目中就可以(要把第一行对应的包名改一下),下边这个类,只要把带注释的内容修改为自己需要的就可以了;
package com.txq.action; import java.io.PrintWriter; import com.opensymphony.xwork2.ActionSupport; import com.txq.mail.HTMLSender; public class MailAction extends ActionSupport { private String email; public String sendEmail(){ //代理主机-新浪 String host = "smtp.sina.cn"; //帐号-新浪帐号 String name = "qqsinabaidu"; //密码-新浪密码 String password = "baidu360"; //创建发送邮件对象 HTMLSender mail = new HTMLSender(host,name,password); //发邮帐号 mail.setFrom("qqsinabaidu@sina.cn"); //收邮帐号 mail.setTo("youxiangzhanghe@qq.com"); //邮件主题 mail.setSubject("哈哈"); //邮件内容 mail.setContect("发送邮件的程序~"); if(mail.send()) { return SUCCESS; } else { return "error"; } } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
相关文章推荐
- 基于JavaMail的Java邮件发送:复杂邮件发送
- Java实现邮件发送
- java免费发送邮件实现
- Android开发之JavaMail发送邮件(用户反馈)
- Java发送邮件简单实现以及问题的解决
- java邮件发送
- JAVA发送邮件
- Java发送邮件
- 用Java发送邮件 smtp验证码问题
- java代码实现发送邮件
- java 发送邮件的简单例子
- [JAVA100例]045、使用SMTP协议发送邮件(java100例)
- JAVA邮件发送的简单实现
- java STMP协议群发邮件时有无效地址导致发送邮件失败
- java发送邮件
- java发送邮件
- 利用Spring框架封装的JavaMail现实同步或异步邮件发送
- java实现邮件发送, 抄送及多附件发送
- java maven 发送邮件