`
shift8
  • 浏览: 150060 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java mail 发送附件

 
阅读更多
public static HashMap<String,String> sendEmailToPartner(Object[] toAddress){
		HashMap<String,String> map=new HashMap<String,String>();  
        String message="邮件发送成功!"; 
        map.put("state", "success"); 
        map.put("message", message); 
        
        Message msg =null;
		try {
			//GET PARTNER MAILCONN
			Properties props = new Properties();
			props.put("mail.smtp.host", ChannelConfig.getValue("mail.smtp.host"));
			String port = ChannelConfig.getValue("mail.smtp.port");
			String auth = ChannelConfig.getValue("mail.smtp.auth");
			//IF SERVER NEED AUTH
			if (auth != null && !"".equals(auth.trim()) && "true".equals(auth)){
				props.put("mail.smtp.auth", auth);
				if (port != null && !"".equals(port.trim())){
					props.put("mail.smtp.port", port);  
				}
			}
			else{
				props.put("mail.smtp.auth", "false");
		        props.put("mail.smtp.timeout", "0");
			}
	  
	        Session mailConnection = Session.getDefaultInstance(props); 
			Transport transport = mailConnection.getTransport("smtp");
	        if (auth != null && !"".equals(auth.trim()) && "true".equals(auth)){
	        	transport.connect(ChannelConfig.getValue("mail.smtp.host"), ChannelConfig.getValue("mail.smtp.username"), 
	        			ChannelConfig.getValue("mail.smtp.password"));
	        }
	        else{
	        	transport.connect();
	        }
	        //ATTACH FILE
			msg = new MimeMessage(mailConnection);

			String subject="HP EG 通路計劃管理平台 即日起正式啟用";
	        msg.setSubject(MimeUtility.encodeText(subject,MimeUtility.mimeCharset("UTF-8"), null)); 
	        
			String from=ChannelConfig.getValue("mail.smtp.username");
			Address fromAdd = new InternetAddress(from);
		    msg.setFrom(fromAdd);
		    
			if(toAddress == null || toAddress.length == 0) {
	            return null;
	        }
	        
	        Address[] addressList = new Address[toAddress.length];
	        for (int i = 0; i < toAddress.length; i++)
	        {
	            addressList[i]  = new InternetAddress(toAddress[i].toString());
	        }
	        /*Address[] addressList= new Address[]{new InternetAddress(toAddress.toString())};*/
			msg.setRecipients(Message.RecipientType.BCC, addressList);
			addressList= new Address[]{new InternetAddress("wen-hao.li@hp.com")};
			msg.setRecipients(Message.RecipientType.TO, addressList);
			File currPathFile=new File(Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath());
			File attFile=new File(currPathFile.getParentFile().getParentFile().getPath() + File.separator + "template"+File.separator+"html_tw.html");
			Multipart multipart = new MimeMultipart();
            BodyPart body = new MimeBodyPart();
            DataSource source = new FileDataSource(attFile);
            body.setDataHandler(new DataHandler(source));
            body.setFileName(MimeUtility.encodeText(attFile.getName()));
            multipart.addBodyPart(body);
            msg.setContent(multipart);
            msg.setSentDate(new Date());
	        transport.sendMessage(msg, msg.getAllRecipients());
	        transport.close();
	        return map;
	        
	     } catch(AuthenticationFailedException e){   
	    	 message="邮件发送失败!错误原因:\n"+"身份验证错误!";  
             map.put("state", "failed");  
             map.put("message", message);  
             e.printStackTrace();   
         } catch(AddressException e){   
        	 try {
				message="邮件发送失败!错误原因:\n"+msg.getRecipients(Message.RecipientType.BCC)[0]+"地址错误!";
			} catch (MessagingException e1) {
				e1.printStackTrace();
			} 
             map.put("state", "failed");  
             map.put("message", message);  
             e.printStackTrace();   
          }catch (MessagingException e) {  
            message="邮件发送失败!错误原因:\n"+e.getMessage();  
            map.put("state", "failed");
            map.put("message", message); 
            e.printStackTrace();  
            Exception ex = null;  
            if ((ex = e.getNextException()) != null) {  
                System.out.println(ex.toString());  
                ex.printStackTrace();  
            }   
       } catch (Exception e) {
    	   message="邮件发送失败!错误原因:\n"+e.getMessage();  
           map.put("state", "failed");
           map.put("message", message); 
           e.printStackTrace();
		}  
       return map;  
	}

 

    private static Address[] buildEmaiAddress(String[] addressArray) throws Exception
    {
        if(addressArray == null || addressArray.length == 0) {
            return null;
        }
        
        Address[] addressList = new Address[addressArray.length];
        for (int i = 0; i < addressArray.length; i++)
        {
            addressList[i]  = new InternetAddress(addressArray[i]);
        }
        
        return addressList;
    }

 

分享到:
评论

相关推荐

    java 发送附件mail

    在Java编程中,发送带有附件的邮件是一项常见的任务,尤其在企业级应用或者自动化脚本中。这个场景通常涉及到JavaMail API的使用,一个强大的库,可以用来处理SMTP(简单邮件传输协议)邮件服务。接下来,我们将深入...

    java Mail 发送邮件及邮件附件

    Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...

    java 发邮件带excel附件,以流的形式发送附件,不生成excel文件

    在Java编程中,发送带有Excel附件的电子邮件是一项常见的任务,特别是在数据报告或自动化流程中。在某些场景下,我们可能希望直接以流的形式处理Excel数据,而不是先将其保存为一个实际的文件,然后再作为附件发送。...

    java mail 发送邮件

    4. **添加附件**:如果需要发送附件,可以使用MimeBodyPart和MimeMultipart类。 ```java MimeBodyPart attachmentPart = new MimeBodyPart(); attachmentPart.attachFile("path/to/your/file"); MimeMultipart ...

    java mail 发送QQ邮件

    要使用Java Mail发送QQ邮件,首先需要在QQ邮箱设置中开启“POP3/SMTP/IMAP”服务,并获取授权码。授权码是QQ邮箱为第三方应用提供的一种安全验证方式,不同于普通密码。 ### 3. 添加依赖 在Java项目中,我们需要...

    Java Mail邮件发送源码下载

    如果需要发送附件,可以使用MimeBodyPart和Multipart类。 4. 发送邮件:使用Transport对象的send方法,传入Message对象,完成邮件发送。 三、源码实现示例 以下是一个简单的Java Mail邮件发送的源码示例: ```...

    java mail 发送邮件代码与架包

    7. **附件支持**: 如果需要发送附件,可以使用`MimeBodyPart`和`MimeMultipart`类。创建一个`MimeBodyPart`对象,添加附件内容,然后将其添加到`MimeMultipart`对象中,最后将`Multipart`对象设为邮件内容。 8. **...

    java发送邮箱及附件成功案例

    以下是一个简单的示例代码(Pemail.java),演示如何发送带有附件的电子邮件: ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class Pemail { public ...

    java代码实现QQ邮箱发送附件

    本示例将详细讲解如何使用Java实现通过QQ邮箱发送附件的功能。这个功能主要依赖于JavaMail API,它是一个开源库,为Java开发者提供了处理电子邮件的能力。 首先,我们需要在项目中引入JavaMail相关的依赖。如果你...

    java邮件发送(含附件发送)源码

    如果要发送附件,可以使用`Multipart`和`BodyPart`来构建复杂的邮件结构。 ```java Multipart multipart = new MimeMultipart(); // 添加文本正文 BodyPart messageBodyPart = new MimeBodyPart(); ...

    javaemail发送邮件(带附件)

    "javaemail发送邮件(带附件)" javaemail发送邮件(带附件)是使用Java技术实现的邮件发送功能,支持带附件的发送。下面是该功能的知识点总结: 1. 使用JavaMailSenderImpl类来发送邮件,需要设置SMTP服务器、用户名...

    采用javax.mail发送邮件,可以发送附件

    采用javax.mail发送邮件,可以发送附件

    JAVA_Mail_邮件_发送_接收_抄送_密送_附件

    JAVA_Mail_邮件_发送_接收_抄送_密送_附件 该资源是一个Java项目,可用Eclipse导入即可运行。 共4个类: 1:ReceiveMail.java -接收普通邮件 2:ReciveMailWithAttachMent.java --接收含有附件的邮件 3:SendMail....

    JAVA MAIL发送邮件带附件和图片

    在Java编程中,发送带有附件和图片的电子邮件是一项常见的任务,尤其在自动化通知、报告分发等场景下。本文将详细讲解如何使用Java Mail API来实现这一功能,同时参考提供的`TemplateMailMessage.java`和`...

    Java发送含附件邮件

    在Java编程中,发送带有附件的邮件是一项常见的任务,尤其在企业级应用或者自动化脚本中。这个场景通常涉及到SMTP(Simple Mail Transfer Protocol)服务,JavaMail API以及MIME(Multipurpose Internet Mail ...

    java生成excle邮件附件发送

    java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送

    使用 java mail 发送邮件

    要使用Java Mail发送邮件,首先需要添加相应的依赖库到项目中。对于Android项目,通常会通过Gradle来引入。 1. 添加依赖: 在项目的build.gradle文件中,添加以下依赖: ```groovy dependencies { ...

    java mail发送 源码

    使用Java Mail发送邮件的基本步骤如下: 1. 创建Mail Session:这是整个邮件操作的基础,通过提供用户名、密码和其他配置信息来初始化Session对象。 ```java Properties props = new Properties(); props.put("mail....

    java 邮件发送,支持附件发送

    本教程将深入讲解如何使用Java实现邮件发送功能,包括添加附件和向多个收件人发送邮件。 首先,我们来看`Mailer.java`,这个类通常会封装邮件发送的核心逻辑。在Java中,我们主要依赖JavaMail API来实现邮件的发送...

    java开发实现163邮件发送(支持附件

    要发送附件,首先创建一个`MimeBodyPart`对象,然后调用`setDataHandler`方法设置数据源,通常是文件输入流。接着,创建一个`MimeMultipart`对象,将多个`MimeBodyPart`添加到其中。最后,将`MimeMultipart`对象...

Global site tag (gtag.js) - Google Analytics