📄 sendmail.java
字号:
/**
*
*/
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
/**
* @author Dannie
*
*/
public class SendMail extends Authenticator {
/**
* @param args
*/
public static String[] recipients = null;
public static String subject = "";
public static String body = "";
public static String fromAdd = "";
public static String mailHost = "";
public static String smtpPort = "";
public static String sslEnable = "";
public static String authenticate = "";
public static String authPassword = "";
public static String authUser = "";
public static String tlsEnable = "";
public static String msgContentType = "";
public static String charSet = "";
public static void main(String[] args) {
// TODO Auto-generated method stub
recipients = args[0].split(";");
subject = args[1];
body = args[2];
fromAdd = args[3];
mailHost = args[4];
smtpPort = args[5];
sslEnable = args[6];
authenticate = args[7];
authUser = args[8];
authPassword = args[9];
tlsEnable = args[10];
msgContentType = args[11];
charSet = args[12];
System.out.println("subject:"+subject);
System.out.println("mailHost:"+mailHost);
System.out.println("smtpPort:"+smtpPort);
SendMail sendMail = new SendMail();
try {
sendMail.postMail(recipients, subject, body, fromAdd, mailHost, smtpPort, sslEnable, authenticate, authUser, authPassword, tlsEnable, msgContentType, charSet);
System.out.println("Your mail has been sent sucessfully to all the recipient(s)");
}
catch(Exception e) {
e.printStackTrace();
}
}
public void postMail( String recipients[ ], String subject, String body , String fromAdd, String mailHost, String smtpPort, String sslEnable, String authenticate, String authUser, String authPassword, String tlsEnable, String msgContentType, String charSet ) throws MessagingException {
boolean debug = false;
//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", mailHost);
props.put("mail.smtp.ssl.enable",sslEnable);
props.put("mail.smtp.starttls.enable",tlsEnable);
props.put("mail.smtp.auth", authenticate);
Authenticator auth = new PopupAuthenticator();
// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// create a message
MimeMessage msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(fromAdd);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Optional : You can also set your custom headers in the Email if you Want
//msg.addHeader("MyHeaderName", "myHeaderValue");
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(body, msgContentType);
msg.setText(body, charSet);
Transport.send(msg);
}
static class PopupAuthenticator extends Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(authUser, authPassword);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -