`
- 浏览:
121953 次
- 来自:
...
-
MailUtils代码
- public class MailUtils {
-
- private String displayName;
- private String to;
- private String cc;
- private String from;
- private String smtpServer;
- private String username;
- private String password;
- private String subject;
- private String content;
- private boolean isAuth = false;
- private File filename;
- private List<File> files = new ArrayList<File>();
-
-
-
- public void setSmtpServer(String smtpServer){
- this.smtpServer=smtpServer;
- }
-
-
-
- public void setFrom(String from){
- this.from=from;
- }
-
-
-
- public void setCc(String cc) {
- this.cc = cc;
- }
-
-
-
- public void setDisplayName(String displayName){
- this.displayName=displayName;
- }
-
-
-
- public void setAuth(boolean isAuth){
- this.isAuth=isAuth;
- }
-
-
-
- public void setUserName(String username){
- this.username=username;
- }
-
-
-
- public void setPassword(String password){
- this.password=password;
- }
-
-
-
- public void setTo(String to){
- this.to=to;
- }
-
-
-
- public void setSubject(String subject){
- this.subject=subject;
- }
-
-
-
- public void setContent(String content){
- this.content=content;
- }
-
-
-
- public void addAttachfile(File fname){
- files.add(fname);
- }
-
-
-
-
- public HashMap send(){
- HashMap map=new HashMap();
- map.put("success", "true");
- String message="邮件发送成功!";
- Session session=null;
- Properties props = System.getProperties();
- props.put("mail.smtp.host", smtpServer);
- if(isAuth){
- props.put("mail.smtp.auth","true");
- MailAuthenticator mailAuth=new MailAuthenticator(username,password);
- session=Session.getDefaultInstance(props, mailAuth);
- }else{
- props.put("mail.smtp.auth","false");
- session=Session.getDefaultInstance(props, null);
- }
-
- Transport trans = null;
- try {
- Message msg = new MimeMessage(session);
- try{
- Address from_address = new InternetAddress(from, displayName);
- msg.setFrom(from_address);
- }catch(java.io.UnsupportedEncodingException e){
- e.printStackTrace();
- }
- InternetAddress[] to_address=InternetAddress.parse(to);
- msg.setRecipients(Message.RecipientType.TO,to_address);
- InternetAddress[] cc_address=InternetAddress.parse(cc);
- msg.setRecipients(Message.RecipientType.CC,cc_address);
- msg.setSubject(subject);
- Multipart mp = new MimeMultipart();
- MimeBodyPart mbp = new MimeBodyPart();
- mbp.setContent(content.toString(), "text/html;charset=gb2312");
- mp.addBodyPart(mbp);
- if(!files.isEmpty()){
- for(int i=0;i<files.size();i++){
- mbp=new MimeBodyPart();
- filename=files.get(i);
- FileDataSource fds=new FileDataSource(filename);
- mbp.setDataHandler(new DataHandler(fds));
- mbp.setFileName(fds.getName());
- mp.addBodyPart(mbp);
- }
- }
- msg.setContent(mp);
- msg.setSentDate(new Date());
-
- msg.saveChanges();
- trans = session.getTransport("smtp");
- trans.connect(smtpServer, username, password);
- trans.sendMessage(msg, msg.getAllRecipients());
- trans.close();
-
- }catch(AuthenticationFailedException e){
- map.put("success", "false");
- message="邮件发送失败!错误原因:\n"+"身份验证错误!";
- e.printStackTrace();
- }catch (MessagingException e) {
- message="邮件发送失败!错误原因:\n"+e.getMessage();
- map.put("success", "false");
- e.printStackTrace();
- Exception ex = null;
- if ((ex = e.getNextException()) != null) {
- System.out.println(ex.toString());
- ex.printStackTrace();
- }
- }
-
- map.put("message", message);
- return map;
- }
- }
MailAuthenticator 代码
- public class MailAuthenticator extends Authenticator
- {
- private String username,password;
-
- public MailAuthenticator(String username,String password){
- this.username = username;
- this.password = password;
- }
- protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
- return new javax.mail.PasswordAuthentication(username,password);
- }
- }
FileFilter 代码
- public class FileFilter implements FilenameFilter {
-
- String prefix,ext;
- public FileFilter(String prefix,String ext) {
- this.prefix=prefix;
- this.ext=ext;
- }
- public boolean accept(File dir, String name) {
- return name.startsWith(prefix) && name.endsWith(ext);
- }
- }
MailTest代码
- public class MailTest {
-
- static Logger logger = Logger.getLogger(MailTest.class);
-
-
-
- public static void main(String[] args) {
- Properties props= new Properties();
- Properties logProps= new Properties();
- String configFile ="mailConfig.properties";
- String logFile ="log4j-mail.properties";
- try {
- InputStream is = MailTest.class.getResourceAsStream(configFile);
- InputStream isLog = MailTest.class.getResourceAsStream(logFile);
- props.load(is);
- logProps.load(isLog);
- PropertyConfigurator.configure (logProps);
- if(is!=null) is.close();
- if(isLog!=null) isLog.close();
- }
- catch(Exception e) {
- System.out.println(e+"file "+configFile+" or "+logFile+" not found");
- logger.info(e+"file "+configFile+" or "+logFile+" not found");
- }
- String displayName=StringUtils.defaultString(props.getProperty("displayName")).trim();
- String to=StringUtils.defaultString(props.getProperty("to")).trim();
- String cc=StringUtils.defaultString(props.getProperty("cc")).trim();
- String from=StringUtils.defaultString(props.getProperty("from")).trim();
- String smtpServer=StringUtils.defaultString(props.getProperty("smtpServer")).trim();
- String username=StringUtils.defaultString(props.getProperty("username")).trim();
- String password=StringUtils.defaultString(props.getProperty("password")).trim();
- String subject=StringUtils.defaultString(props.getProperty("subject")).trim();
- String content=StringUtils.defaultString(props.getProperty("content")).trim();
- String isAuth=StringUtils.defaultString(props.getProperty("isAuth")).trim();
- String filePath =StringUtils.defaultString(props.getProperty("filePath")).trim();
- String filePrefix =StringUtils.defaultString(props.getProperty("filePrefix")).trim();
- String fileExt =StringUtils.defaultString(props.getProperty("fileExt")).trim();
- MailUtils mail = new MailUtils();
-
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
- Date today = new Date();
- String todayStr = dateFormat.format(today);
- File path = new File(filePath);
- if (!path.isDirectory()) {
- System.out.println("filePath "+filePath+"目录错误");
- logger.info("filePath "+filePath+"目录错误");
- return;
- }
- else if (path.isDirectory()) {
- FilenameFilter filter = new FileFilter(todayStr+filePrefix,fileExt);
- File[] files = path.listFiles(filter);
- if(files.length==0){
- System.out.println("attachment "+todayStr+filePrefix+"*."+fileExt+" is not exist");
- logger.info("attachment "+todayStr+filePrefix+"*."+fileExt+" is not exist");
- return;
- }
- for (int i = 0; i < files.length; i++) {
- if (files[i].exists() && files[i].isFile()) {
- System.out.println("attachmentpath=" + files[i].getAbsolutePath());
- logger.info("attachmentpath=" + files[i].getAbsolutePath());
- mail.addAttachfile(files[i]);
- }
- else{
- System.out.println("attachment "+todayStr+filePrefix+"*."+fileExt+" is not exist or file");
- logger.info("attachment "+todayStr+filePrefix+"*."+fileExt+" is not exist or file");
- return;
- }
- }
- }
-
-
- if("true".equalsIgnoreCase(isAuth)){
- mail.setAuth(true);
- mail.setUserName(username);
- mail.setPassword(password);
- }
- mail.setSmtpServer(smtpServer);
- mail.setFrom(from);
- mail.setTo(to);
- mail.setCc(cc);
- mail.setDisplayName(displayName);
- mail.setSubject(subject);
- mail.setContent(content);
-
- Map map = mail.send();
- if("false".equals(map.get("success"))){
- System.out.println(map.get("message"));
- logger.info(map.get("message"));
- }else{
- System.out.println("mail send success");
- logger.info("mail send success");
- }
-
- }
-
- }
log4j代码
- log4j.rootLogger=INFO,A1
-
- log4j.appender.A1=org.apache.log4j.RollingFileAppender
- log4j.appender.A1.File=d:/McdReportMail/log/log-McdReport.log
- log4j.appender.A1.MaxFileSize=2048KB
- log4j.appender.A1.MaxBackupIndex=10
- log4j.appender.A1.layout=org.apache.log4j.PatternLayout
- log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c][%L][%p] %m%n
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
里面详细的介绍了JavaMail发邮件(包括单个附件和多个附件)的机制,还有JavaMail正常使用所需要的JAR包,源程序例子经过本人详细且严格的测试,大家下载下来就可以直接使用啦。
介绍了如何利用javamail实现带附件的邮件发送,附有代码
该资源是一个javamail发送邮件的例子,里面集成了别人的文件发送的功能,单次发送邮件只能上传一个附件。是一个测试方法,拿过来改一改邮件的地址和密码就可以使用了
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
JavaMail邮件发送(带附件)
主要介绍了java中javamail发送带附件的邮件实现方法,较为详细的分析了JavaMail发送邮件的用法,是非常实用的技巧,需要的朋友可以参考下
javaMail 用附件路径,文件流 byte[] 或 base64 字符串 实现发送附件功能
配置好用户名密码以及SMTP服务器就可以直接运行。已包含相关jar
基于javamail1.4实现邮件发送,支持多收件人、抄送人、多附件等
附件是所需要的包文件 博文链接:https://xagcdx.iteye.com/blog/1039425
利用JavaMail发送邮件的实例,可以直接运行
JavaMail发送和接受邮件的一个小例子, 含文本,图片, 附件等复杂格式
javamail 自动发送邮件 发送html格式邮件 发送带有附件的邮件
javamail 可带附件demo源码,其中包含所需要的JAR包(位置:jars文件夹内)
用javaMail实现公司内网邮箱邮件发送,包括邮件附件,邮件发送人和抄送人
本人最新写了一个邮件收发的例子,可以处理中文的 包括发送附件,附件标题也可以是中文的,可以给大 家参考下!希望能给大家一些帮助!
本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...
javamail发送邮件,带附件。发邮件可以看看。