📄 send.java
字号:
package source;
import java.sql.*;
import java.util.Date;
import java.util.Properties;
import javax.swing.*;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
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 org.eclipse.jface.dialogs.MessageDialog;
public class Send
{
private String username="";
private String password="";
private String smtp="";
private String s_name="";
private String s_addr="";
public Send(String r_addr,String title,String content,String fujian)
{
getConfig();
sendmail(r_addr,title,content,fujian);
}
private void getConfig()
{
try
{
DataBase db=new DataBase();
db.connectToDB();
ResultSet rs=null;
String sql;
sql="select top 1 * from config";
rs=db.executeQuery(sql);
if(!rs.next())
{
MessageDialog.openError(null, "发邮件错误", "读取配置失败,请检查配置!");
System.exit(0);
}
username=rs.getString("username");
password=rs.getString("password");
smtp=rs.getString("smtp");
s_name=rs.getString("s_name");
s_addr=rs.getString("s_addr");
db.close();
}
catch(Exception mex)
{
MessageDialog.openError(null, "发邮件错误", "读取配置失败,请检查配置!");
mex.printStackTrace();
System.exit(0);
}
}
private boolean sendmail(String r_addr,String title,String content,String fujian)
{
Properties pros=new Properties();
pros.put("mail.smtp.host",smtp);
pros.put("mail.smtp.auth","true");
Session sendMailSession=Session.getInstance(pros,null);//create session
MimeMessage msg=new MimeMessage(sendMailSession);
try
{
msg.setFrom(new InternetAddress(s_addr));//这是网关的地址
InternetAddress sendaddr=new InternetAddress(s_addr);
msg.setFrom(sendaddr);
InternetAddress toaddr=new InternetAddress(r_addr);//发送到的地址
msg.setRecipient(Message.RecipientType.TO, toaddr);
msg.setSubject(title+"--来自:"+s_name);
Multipart mp=new MimeMultipart();
MimeBodyPart mbp0=new MimeBodyPart();
mbp0.setContent(content,"text/plain;charset=gb2312");//设定邮件正文,并且设定编码方式
mp.addBodyPart(mbp0);
if(fujian!="")
{
mbp0 = new MimeBodyPart();
DataSource source = new FileDataSource(fujian);
mbp0.setDataHandler(new DataHandler(source));
mbp0.setFileName(fujian);
mp.addBodyPart(mbp0);
}
msg.setContent(mp);
msg.setSentDate(new Date());
Transport transport=sendMailSession.getTransport("smtp");
transport.connect(null, username,password);
transport.sendMessage(msg,msg.getAllRecipients());
transport.close();
MessageDialog.openInformation(null, "系统提示", "邮件发送成功!");
return true;
}
catch(MessagingException mex)
{
MessageDialog.openError(null, "发邮件错误", "邮件发送失败,请检查配置!");
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -