如何用java文件发送邮件
2016-12-18 23:55
253 查看
获得邮箱发送邮件的权限
以163邮箱为例1.开通stmp权限
2.设置授权码
发送邮件的函数
sendemail.java使用163邮箱的服务器,即stmp.163.com;
import java.util.Date; import java.util.Properties; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class SendEmail { String host; String username; String password; String fromAddr; String toAddr; String subject; String content; Address[] address; public SendEmail() { host = "smtp.163.com";//设置为163的stmp username = ""; password = ""; fromAddr = "@"; } public boolean sendMail() { Properties prop; Session session; MimeMessage msg; try { prop = new Properties(); prop.put("mail.smtp.host",host); prop.put("mail.smtp.auth","true"); session = Session.getDefaultInstance(prop,null); msg = new MimeMessage(session); if(fromAddr == null || fromAddr.equals("")) { throw new Exception("起始邮箱空"); } if(toAddr == null || toAddr.equals("")) { throw new Exception("目标邮箱空"); } msg.setFrom(new InternetAddress(fromAddr)); String[] gods = toAddr.split("[,]"); System.out.println(toAddr); System.out.println(gods.length); address = new InternetAddress[gods.length]; for(int i=0;i<gods.length;i++){ address[i] = new InternetAddress(gods[i]); } msg.setRecipients(Message.RecipientType.TO,address); msg.setSubject(subject,"GBK"); Multipart mp = new MimeMultipart(); MimeBodyPart mbpContent = new MimeBodyPart(); mbpContent.setContent(content,"text/html;charset=GBK"); mp.addBodyPart(mbpContent); msg.setContent(mp,"text/html;charset=GBK"); msg.setSentDate(new Date()); Transport transport = session.getTransport("smtp"); transport.connect((String)prop.get("mail.smtp.host"),username,password); transport.sendMessage(msg,msg.getRecipients(MimeMessage.RecipientType.TO)); transport.close(); return true; } catch(Exception e) { System.out.println(e); return false; } } // getter and setter public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getFromAddr() { return this.fromAddr; } public void setFromAddr(String addr) { fromAddr = addr; } public String getToAddr() { return this.toAddr; } public void setToAddr(String addr) { toAddr = addr; } public String getSubject() { return subject; } public void setSubject(String sub) { subject = sub; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
在外部java文件中配置以下内容:
send.setToAddr(addr);//目标邮箱 send.setFromAddr("182xxxxxxxx@163.com");//其实邮箱 send.setUsername("156xxxxxxxx@163.com"); send.setPassword("as123456");//授权码 send.setSubject("你是谁");//邮件主题,类型字符串 send.setContent("你能告诉我,你是谁吗");//邮件内容 send.sendMail();//发送邮件
目标邮箱的内容为以’,’隔开的多个邮箱地址,例如:“182xxxxxxxx@163.com,156xxxxxxxx@163.com,156xxxxxxxx@163.com”
相关文章推荐
- java如何发送邮件以及使用Velocity模板解决模板文件中文乱码的问题
- java中如何实现邮件的发送包括网页文件的发送
- java中如何实现邮件的发送包括网页文件的发送
- 如何阻止通过Outlook用户发送带Winmail.dat文件附件的邮件
- java实现邮件的发送和网页文件的发送
- java发送邮件没有主题且乱码以及如何exclusion依赖
- java实现邮件的发送包括网页文件的发送
- java实现邮件的发送包括网页文件的发送
- 如何将java在DOMINO中发送的邮件带上附件
- Spring进阶—如何用Java代码实现邮件发送(一)
- Java如何发送Email/邮件
- 如何在java程序里面发送html邮件
- java实现邮件的发送包括网页文件的发送
- 如何将配置文件通过邮件发送给用户
- Spring进阶—如何用Java代码实现邮件发送(二)
- java实现Linux的文件上传/java实现邮件发送/smproxy短信发送
- java 带文件的 邮件发送
- 如何使用Java来调用Notes API发送邮件(包括附件)
- 邮件发送:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误如何解决
- java实现邮件的发送包括网页文件的发送