公司内部邮箱服务器发送邮件 java版
2016-11-26 15:59
423 查看
背景:
由于需要给合作方以压缩包的形式每天返回数据,基于我们自己写的分布式程序,而月末通过返回的数据,来与合作方进行对账,所以每天数据返回的成败就至关重要了,但又懒得每天去查看日志,刚好借助一下公司内部的邮件服务器。
go、go、go
pom.xml文件
由于需要给合作方以压缩包的形式每天返回数据,基于我们自己写的分布式程序,而月末通过返回的数据,来与合作方进行对账,所以每天数据返回的成败就至关重要了,但又懒得每天去查看日志,刚好借助一下公司内部的邮件服务器。
go、go、go
package test.util; import org.apache.log4j.Logger; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.*; import javax.mail.internet.*; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Properties; /** * Created by shengjk1 on 2016/11/4. * Blog Address:http://blog.csdn.net/jsjsjs1789 */ public class SendMail { private static Logger logger = Logger.getLogger(SendMail.class); private static SendMail instance = null; private SendMail() { } public static SendMail getInstance() { if (instance == null) { instance = new SendMail(); } return instance; } public void send(String to[], String cs[], String ms[], String subject, String content, String formEmail, String fileList[]) { try { Properties p = new Properties(); // Properties p = // System.getProperties(); p.put("mail.smtp.auth", "true"); p.put("mail.transport.protocol", "smtp"); p.put("mail.smtp.ho 4000 st", "xxxxx");//邮件服务器的地址 p.put("mail.smtp.port", "25"); // 建立会话 Session session = Session.getInstance(p); Message msg = new MimeMessage(session); // 建立信息 BodyPart messageBodyPart = new MimeBodyPart(); Multipart multipart = new MimeMultipart(); msg.setFrom(new InternetAddress(formEmail)); // 发件人 String toList = null; String toListcs = null; String toListms = null; // 发送, if (to != null) { toList = getMailList(to); new InternetAddress(); InternetAddress[] iaToList = InternetAddress .parse(toList); msg.setRecipients(Message.RecipientType.TO, iaToList); // 收件人 } // 抄送 if (cs != null) { toListcs = getMailList(cs); new InternetAddress(); InternetAddress[] iaToListcs = InternetAddress .parse(toListcs); msg.setRecipients(Message.RecipientType.CC, iaToListcs); // 抄送人 } // 密送 if (ms != null) { toListms = getMailList(ms); new InternetAddress(); InternetAddress[] iaToListms = InternetAddress .parse(toListms); msg.setRecipients(Message.RecipientType.BCC, iaToListms); // 密送人 } msg.setSentDate(new Date()); // 发送日期 msg.setSubject(subject); // 主题 msg.setText(content); // 内容 // 显示以html格式的文本内容 messageBodyPart.setContent(content, "text/html;charset=utf-8"); multipart.addBodyPart(messageBodyPart); // 2.保存多个附件 if (fileList != null) { addTach(fileList, multipart); } msg.setContent(multipart); // 邮件服务器进行验证 Transport tran = session.getTransport("smtp"); tran.connect("xxx", //邮件服务器地址 "shengjk1@xxx.cn",//邮箱地址 "p@ssw0rd");//邮箱的密码 tran.sendMessage(msg, msg.getAllRecipients()); // 发送 System.out.println("邮件发送成功"); } catch (Exception e) { logger.info("邮件发送时异常",e); } } // 添加多个附件 public void addTach(String fileList[], Multipart multipart) throws MessagingException, UnsupportedEncodingException { for (int index = 0; index < fileList.length; index++) { MimeBodyPart mailArchieve = new MimeBodyPart(); FileDataSource fds = new FileDataSource(fileList[index]); mailArchieve.setDataHandler(new DataHandler(fds)); mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(), "utf-8", "B")); multipart.addBodyPart(mailArchieve); } } private String getMailList(String[] mailArray) { StringBuffer toList = new StringBuffer(); int length = mailArray.length; if (mailArray != null && length < 2) { toList.append(mailArray[0]); } else { for (int i = 0; i < length; i++) { toList.append(mailArray[i]); if (i != (length - 1)) { toList.append(","); } } } return toList.toString(); } public static void forSend(String subject,String content){ SendMail send = SendMail.getInstance(); String to[] = { "shengjk1@xxx.cn"};//收件人的地址 String cs[] = null; String ms[] = null; if(content==null||content.length()==0){ content = "这是邮件内容,仅仅是测试,不需要回复"; } String fromEmail = "shengjk1@xxx.cn";//发件人的地址 String[] arrArchievList = null; // 2.保存多个附件 send.send(to, cs, ms, subject, content, fromEmail, arrArchievList); } // public static void main(String args[]) { // forSend(null); // } }
pom.xml文件
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency>
相关文章推荐
- 公司内部邮箱服务器发送邮件 java版
- Java实现通过smtp服务器向指定邮箱发送邮件
- phpmailer 发送邮件,利用公司邮箱服务器
- 邮件发送方法及邮箱服务器及端口号总结
- 服务器+客户端软件+java邮件发送jar
- java smtp 邮箱向外部发送邮件 550 5.7.1 Unable to relay
- java注册时向指定邮箱发送邮件激活
- 根据邮箱DNS读取SMTP服务器地址,匿名发送邮件
- Zabbix使用外部邮箱服务器发送邮件报警
- 简单的java实现邮箱发送邮件
- java实现SSH远程链接服务器导出Excel并发送到指定邮箱
- 通过本地IIS SMTP服务器发送邮件时提示“邮箱不可用”的解决办法
- 使用JAVA模拟发送邮件到邮箱
- Exchange 2007禁止外部公网邮箱对公司通讯组发送邮件
- JavaMail SMTP服务器发送邮件程序示例 java通过dns服务器解析ip地址
- Windows邮件服务器James搭建(一)——实现服务器内部账号之间的邮件互相发送
- 关于win2003 邮箱服务器不能向外网发送邮件的问题
- Spring 代理 JavaMailSenderImpl 服务器发送邮件
- 搭建Apache James服务器用JAVA发送邮件
- 通过本地IIS SMTP服务器发送邮件时提示“邮箱不可用”的解决办法