创建一个非常简单的文字/普通邮件并传送

本文提供了一个使用 JavaMail API 发送简单文本邮件的示例代码。该示例展示了如何配置邮件发送所需的属性、创建邮件消息并进行发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

importjava.util.Date;
importjava.util.Properties;

importjavax.mail.Address;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.SendFailedException;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;

publicclassMainClass{
staticStringmsgText="Thisisamessagebody.\nHere'sthesecondline.";

publicstaticvoidmain(String[]args){
if(args.length!=4){
usage();
System.exit(1);
}

System.out.println();

Stringto=args[0];
Stringfrom=args[1];
Stringhost=args[2];
booleandebug=Boolean.valueOf(args[3]).booleanValue();

//createsomepropertiesandgetthedefaultSession
Propertiesprops=newProperties();
props.put("mail.smtp.host",host);
if(debug)
props.put("mail.debug",args[3]);

Sessionsession=Session.getInstance(props,null);
session.setDebug(debug);

try{
//createamessage
Messagemsg=newMimeMessage(session);
msg.setFrom(newInternetAddress(from));
InternetAddress[]address={newInternetAddress(args[0])};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject("JavaMailAPIsTest");
msg.setSentDate(newDate());
//Ifthedesiredcharsetisknown,youcanuse
//setText(text,charset)
msg.setText(msgText);

Transport.send(msg);
}catch(MessagingExceptionmex){
System.out.println("\n--Exceptionhandlinginmsgsendsample.java");

mex.printStackTrace();
System.out.println();
Exceptionex=mex;
do{
if(exinstanceofSendFailedException){
SendFailedExceptionsfex=(SendFailedException)ex;
Address[]invalid=sfex.getInvalidAddresses();
if(invalid!=null){
System.out.println("**InvalidAddresses");
if(invalid!=null){
for(inti=0;i<invalid.length;i++)
System.out.println(""+invalid[i]);
}
}
Address[]validUnsent=sfex.getValidUnsentAddresses();
if(validUnsent!=null){
System.out.println("**ValidUnsentAddresses");
if(validUnsent!=null){
for(inti=0;i<validUnsent.length;i++)
System.out.println(""+validUnsent[i]);
}
}
Address[]validSent=sfex.getValidSentAddresses();
if(validSent!=null){
System.out.println("**ValidSentAddresses");
if(validSent!=null){
for(inti=0;i<validSent.length;i++)
System.out.println(""+validSent[i]);
}
}
}
System.out.println();
if(exinstanceofMessagingException)
ex=((MessagingException)ex).getNextException();
else
ex=null;
}while(ex!=null);
}
}

privatestaticvoidusage(){
System.out.println("usage:javamsgsendsample<to><from><smtp>true|false");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值