java 发送邮件简单实例

本文提供了一个使用Java实现的邮件发送示例,通过EmailAuthenticator进行身份验证,并利用MailSender类完成邮件发送流程。
项目结构:
[img]http://dl.iteye.com/upload/picture/pic/124101/bfa29927-44c2-35be-be5e-c21b43d61b7b-thumb.jpg[/img]
全部代码:
EmailAuthenticator.java

package com.gjw.test;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class EmailAuthenticator extends Authenticator
{
private String username;
private String userpsd;
public EmailAuthenticator(String username, String userpsd)
{
this.username = username;
this.userpsd = userpsd;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getUserpsd()
{
return userpsd;
}
public void setUserpsd(String userpsd)
{
this.userpsd = userpsd;
}
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
// TODO Auto-generated method stub
return super.getPasswordAuthentication();
}

}



MailSender.java

package com.gjw.test;

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailSender
{
public static void main(String[] args) throws Exception
{
//这是邮件服务器地址
String smtp = "smtp.163.com";
//用户邮箱地址
//用自己的邮箱啊
String from = "gaojunwei@163.com";
//要发送的邮箱
String to = "gaojunwei@qq.com";
//构造用户身份验证验证对象,参数为用户名和口令
EmailAuthenticator auth = new EmailAuthenticator("gaojunwei","123456");
//获取系统属性对象
Properties props = System.getProperties();
//设置邮件服务器和是否身份验证
props.put("mail.smtp.host", smtp);
/* 如果写成这样 props.put("mail.smtp.auth", true);
* 会爆 com.sun.mail.smtp.SMTPSendFailedException:异常
* 应该写成 props.put("mail.smtp.auth", "true");
* */
props.put("mail.smtp.auth", "true");
//获得Session对象
Session session = Session.getInstance(props,(Authenticator)auth);
//以session作为参数建立MimeMessage对象
//这里Mime是支持该协议的类,用来描述邮件的内容
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
msg.setSubject("只是测试");
String s = "测试内容";
msg.setText(s);
//设置好MimeMessage后,从Session中建立Transport对象
//Transport对象用于发送邮件信息,getTransport的参数
//表明发送邮件使用的协议。
Transport transport = session.getTransport("smtp");
transport.connect(smtp,"gaojunwei@163.com","123456");
transport.sendMessage(msg,msg.getAllRecipients());
transport.close();
System.out.println("邮件发送成功");
}

}



群发 你懂得
内容概要:本文介绍了基于Koopman算子理论的模型预测控制(MPC)方法,用于非线性受控动力系统的状态估计与预测。通过将非线性系统近似为线性系统,利用数据驱动的方式构建Koopman观测器,实现对系统动态行为的有效建模与预测,并结合Matlab代码实现具体仿真案例,展示了该方法在处理复杂非线性系统中的可行性与优势。文中强调了状态估计在控制系统中的关键作用,特别是面对不确定性因素时,Koopman-MPC框架能够提供更为精确的预测性能。; 适合人群:具备一定控制理论基础和Matlab编程能力的研【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)究生、科研人员及从事自动化、电气工程、机械电子等相关领域的工程师;熟悉非线性系统建模与控制、对先进控制算法如MPC、状态估计感兴趣的技术人员。; 使用场景及目标:①应用于非线性系统的建模与预测控制设计,如机器人、航空航天、能源系统等领域;②用于提升含不确定性因素的动力系统状态估计精度;③为研究数据驱动型控制方法提供可复现的Matlab实现方案,促进理论与实际结合。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注Koopman算子的构造、观测器设计及MPC优化求解部分,同时可参考文中提及的其他相关技术(如卡尔曼滤波、深度学习等)进行横向对比研究,以深化对该方法优势与局限性的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值