📄 sendmail.java
字号:
mimeMsg.setFrom(new InternetAddress(sender));
}
if (receiver != null)//设置收件人地址
{
mimeMsg.setRecipients(Message.RecipientType.TO, parse(receiver));
}
if (subject != null)//设置邮件主题
{
mimeMsg.setSubject(subject, "GBK");
}
MimeBodyPart part = new MimeBodyPart();//mail内容部分
part.setText(content == null ? "" : content, "GBK");
//设置邮件格式为html cqc
part.setContent(content.toString(),"text/html;charset=GBK");
Multipart multipart = new MimeMultipart(); //第一个BodyPart.主要写一些一般的信件内容。
multipart.addBodyPart(part); //压入第一个BodyPart到MimeMultipart对象中。 在 Multipart 中增加mail内容部分
// 创建第二个BodyPart,是一个FileDAtaSource
// FileDataSource fds = new FileDataSource("C:\\Quotation\\print.txt");
String APath=jTxtPath.getText().toString().trim();
if (APath.trim().length() > 0)
{
// System.out.println("路径为空");
// APath = "c:\\Quotation\\print.txt";
FileDataSource fds = new FileDataSource(APath);
BodyPart fileBodyPart = new MimeBodyPart(); //第二个BodyPart
fileBodyPart.setDataHandler(new DataHandler(fds));//字符流形式装入文件
//fileBodyPart.setFileName("report.xls"); //设置文件名,可以不是原来的文件名。
fileBodyPart.setFileName(APath); //设置文件名,可以不是原来的文件名。
multipart.addBodyPart(fileBodyPart); // MimeMultPart作为Content加入message
}
mimeMsg.setContent(multipart); //增加 Multipart 到信息体
mimeMsg.saveChanges(); //所有以上的工作必须保存。
mimeMsg.setSentDate(new Date()); //设置发送日期
Transport.send(mimeMsg); //发送邮件
System.out.println("邮件发送成功!");
}
/** 解析地址集合字符串 */
private InternetAddress[] parse(String addressSet) throws AddressException
{
ArrayList list = new ArrayList();
StringTokenizer tokens = new StringTokenizer(addressSet, ";");
while (tokens.hasMoreTokens())
{
list.add(new InternetAddress(tokens.nextToken().trim()));
}
InternetAddress[] addressArray = new InternetAddress[list.size()];
list.toArray(addressArray);
return addressArray;
}
/**
* 供外部调用的接口
*/
public boolean sendMails(String mail,String content)
{
//int mailLen = 0 ;
//int contentLen= 0;
if (mail == null||content==null)
{
return false;
}
try
{
this.smtp(mail,content);
}
catch(Exception ex)
{
System.err.println("ex2 in sendmail.java:"+ex.toString());
}
return true;
}
public boolean SendMailInit(){
SendMail mail = new SendMail();
String email =jTxtReceiver.getText(); // "kenny@luckydragongroup.com";
String content = "LDG JavaMail郵件自動發送系統!<br/></br>If you have any Qustion,Please via our website for some help.</br>Thanks and Best Regards.<br/>IT Dept. Hotline:(0755)25160333-8901 <br/><a href=''http://152.104.152.238'' target=''_blank''>http://152.104.152.238</a>";
try
{
mail.sendMails(email,content);
return true;
}
catch (Exception ex)
{
System.err.println("ex33:"+ex.toString());
return false;
}
}
public void main (String[] args)
{
SendMailInit();
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(flowLayout);
jLabel3.setFont(new java.awt.Font("Dialog", Font.BOLD, 14));
jLabel3.setForeground(UIManager.getColor(
"InternalFrame.activeTitleBackground"));
jLabel3.setText("Java Mail Sender");
jPanel2.setLayout(borderLayout);
jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel4.setText("内容");
jTextArea1.setBorder(border6);
jTextArea1.setCaretColor(Color.black);
jTextArea1.setSelectionColor(UIManager.getColor(
"EditorPane.selectionBackground"));
jTextArea1.setText("文本内容");
jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel5.setText("附件");
jBtnInsert.setText("插入");
jPanel3.setLayout(flowLayout1);
jBtnCancel.addActionListener(new SendMail_jBtnCancel_actionAdapter(this));
// jTxtUser.setText("kenny");
// jTxtPwd.setText("aa");
// jTxtSub.setText("LDG訂單自動發送");
jTextArea2.setToolTipText("");
jTextArea2.setText("");
jTextArea2.setRows(3);
jLabel6.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel6.setText("smtp設置");
jLabel7.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel7.setText("用戶名"); //jTxtServer.setText("mail.luckydragongroup.com");
jLabel8.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel8.setText("密碼"); //jTxtPath.setText("c:\\BF.txt");
jBtnBrow.setText("瀏覽");
jBtnBrow.addActionListener(new SendMail_jBtnBrow_actionAdapter(this));
this.setTitle("Java Mail System");
jBtnSend.addActionListener(new SendMail_jButton1_actionAdapter(this));
// jTxtPwd.setText("");
this.getContentPane().add(jPanel3, java.awt.BorderLayout.SOUTH);
jBtnCancel.setText("取消");
jLabel2.setText("主題");
//jTxtSender.setText("kenny@luckydragongroup.com");
jLabel1.setText("收件人");
this.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
this.getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
jPanel1.add(jLabel3, null);
jPanel3.add(jBtnSend, null);
jPanel3.add(jBtnCancel, null);
jPanel2.add(jTxtSub);
jPanel2.add(jTxtReceiver);
jPanel2.add(jTxtSender);
jPanel2.add(jTxtServer);
jPanel2.add(jTxtUser);
jPanel2.add(jBtnInsert);
jPanel2.add(jBtnBrow);
jPanel2.add(jTxtPath);
jPanel2.add(jTextArea1);
jScrollPane1.getViewport().add(jTextArea2);
jPanel2.add(jTxtPwd);
jPanel2.add(jLabel8);
jPanel2.add(jLabel5);
jPanel2.add(jLabel6);
jPanel2.add(jLabel1);
jPanel2.add(jLabel7);
jPanel2.add(jLabel2);
jPanel2.add(jLabel4);
jPanel2.add(jScrollPane1);
jBtnSend.setText("發送");
}
public void jBtnCancel_actionPerformed(ActionEvent e) {
this.dispose();
}
public void jBtnSend_actionPerformed(ActionEvent e) {
this.getFormTXT();
//SendMailInit(); //点击按钮事件
//**********************************
String email =jTxtReceiver.getText(); // "kenny@luckydragongroup.com";
String content = "LDG 自動郵件發送系統 <br/>感谢您使用LDG JavaMail郵件自動發送系統!<br/></br>If you have any Qustion,Please via our website for some help.</br>Thanks and Best Regards.<br/>IT Dept. Hotline:(86755)25160333-8901 <br/><a href=''http://152.104.152.238'' target=''_blank''>http://152.104.152.238</a>";
try
{
sendMails(email,content);
// return true;
}
catch (Exception ex)
{
System.err.println("ex33:"+ex.toString());
// return false;
}
//**********************************
}
public void jBtnBrow_actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
if (e.getSource() == jBtnBrow) {
int returnVal = chooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
//This is where a real application would open the file.
jTxtPath.setText(file.getPath());
jTextArea2.append( file.getPath()+ '\n');
} else {
//jTxtPath.setText(file.getPath());
jTextArea2.append("Cancelled by user." + '\n');
}
}
}
}
class SendMail_jButton1_actionAdapter
implements ActionListener {
private SendMail adaptee;
SendMail_jButton1_actionAdapter(SendMail adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jBtnSend_actionPerformed(e);
}
}
class SendMail_jBtnBrow_actionAdapter
implements ActionListener {
private SendMail adaptee;
SendMail_jBtnBrow_actionAdapter(SendMail adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jBtnBrow_actionPerformed(e);
}
}
class SendMail_jBtnSend_actionAdapter
implements ActionListener {
private SendMail adaptee;
SendMail_jBtnSend_actionAdapter(SendMail adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jBtnSend_actionPerformed(e);
}
}
class SendMail_jBtnCancel_actionAdapter
implements ActionListener {
private SendMail adaptee;
SendMail_jBtnCancel_actionAdapter(SendMail adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jBtnCancel_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -