JavaMail使用

步骤:
1.发送邮件类

package test.mail;

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

import sun.misc.BASE64Encoder;

public class MailSender{
    public void sendMail() throws Exception{
        Properties props = new Properties();
        props.put("mail.smtp.host", getHost());
        props.put("mail.smtp.auth", "true");
        Session session = Session.getDefaultInstance(props);
        session.setDebug(true);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(getFromAddr()));
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
        message.setSubject(getTitle());
        
        Multipart multipart = new MimeMultipart();
        BodyPart contentPart = new MimeBodyPart();
        contentPart.setText(text);//这里就是要发出去的邮件内容啦!
        multipart. addBodyPart(contentPart);
        
        if(getAttachPath() != null && getAttachName() != null){//发送附件
            BodyPart attachmentPart= new MimeBodyPart();
            DataSource source = new FileDataSource(attachPath);
            attachmentPart.setDataHandler(new DataHandler(source));
            BASE64Encoder enc = new BASE64Encoder();
            attachmentPart.setFileName("=?GBK?B?"+enc.encode(attachName.getBytes())+"?=");
            multipart.addBodyPart(attachmentPart);
        }
        message.setContent(multipart);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(host,getUsername(),getPassword());
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
    
   

    private String host = null;
    private String fromAddr = null;
    private String toAddr = null;
    private String username = null;
    private String password = null;
    private String title = null;
    private String attachPath = null;//附件路径
    private String attachName = null;//附件名
    private String text = null;
    
    public String getHost(){
        return host;
    }


	public String getText() {
		return text;
	}


	public void setText(String text) {
		this.text = text;
	}


	public void setHost(String host){
        this.host = host;
    }

    public String getFromAddr(){
        return fromAddr;
    }

    public void setFromAddr(String fromAddr){
        this.fromAddr = fromAddr;
    }

    public String getToAddr(){
        return toAddr;
    }

    public void setToAddr(String toAddr){
        this.toAddr = toAddr;
    }

    public String getUsername(){
        return username;
    }

    public void setUsername(String username){
        this.username = username;
    }

    public String getPassword(){
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getTitle(){
        return title;
    }

    public void setTitle(String title){
        this.title = title;
    }

    public String getAttachPath(){
        return attachPath;
    }

    public void setAttachPath(String attachPath){
        this.attachPath = attachPath;
    }

    public String getAttachName(){
        return attachName;
    }

    public void setAttachName(String attachName){
        this.attachName = attachName;
    }
}

 2.测试类

package test.mail;

public class MailTest {
	public static void main(String[] args){
	        MailSender sender = new MailSender();
	        sender.setHost("smtp.qq.com");
	        sender.setFromAddr("aaa@qq.com");//发件人的邮箱地址
	        sender.setToAddr("bbb@sina.com");//收件人的邮箱地址
	        sender.setUsername("aaa");//邮箱用户名
	        sender.setPassword("cccc");//邮箱密码
	        sender.setTitle("The first mail");//邮件的标题
	        sender.setText("这是我用Java程序发送的第1封邮件!呵呵!!!");//邮件正文
	        sender.setAttachName("附件");//附件名称
	        sender.setAttachPath("D:/exp.log");//附件路径
	        try {
		        sender.sendMail();
		        System.out.println("success");
	        } catch (Exception e){
	            e.printStackTrace();
	        }
	    }

	}

 3.jar包支持

需要mail.jar和activation.jar,需要注意的是邮箱服务器地址smtp.qq.com,不同的发件人邮箱地址会不同!

 

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值