发送一个消息
为发送消息,使用一个Transport对象,它代表了消息传输协议.
创建一个消息
创建一个Message对象,并指定一个文件夹拷贝已发送的消息.
|
Store store = Session.getDefaultInstance().getStore();
Folder[] folders = store.list(Folder.SENT);
Folder sentfolder = folders[0];
Message msg = new Message(sentfolder);
|
指定接收者
创建一个Address对象的数组,然后将每个地址加入到数组中.你的应用程序应该捕获一个AddressException异常,如果地址无效,它将会抛出:
|
try {
toList[0]= new Address("aisha.wahl@blackberry.com", "Aisha Wahl");
}
catch(AddressException e)
{
System.out.println(e.toString());
}
|
增加接收者
调用Message.addRecipients().
将接收者类型(TO,CC,或BCC),以及地址数组作为参数提供给此方法.
如果你的消息有多个接收者类型,每个只调用一次addRecipients()方法.
|
msg.addRecipients(Message.RecipientType.TO, toList);
|
指定一个发送者的姓名和internet消息地址
调用setFrom(Address)
|
Address from = new Address("scott.mcpherson@blackberry.com",
"Scott McPherson");
msg.setFrom(from);
|
增加一个主题行
调用setSubject(String).
|
msg.setSubject("Test Message");
|
指定消息内容
调用setContent(String).一般来说,你的应用程序从用户输入的文本域里获取内容.
|
try
{
msg.setContent("This is a test message.");
}
catch(MessagingException e)
{
System.out.println(e.getMessage());
}
|
发送消息
调用Transport.send(Message).
|
try {
Transport.send(msg);
}
catch(MessagingException e) {
System.out.println(e.getMessage());
}
|
回复消息
为了创建一个消息作为已存在消息的回复,调用Message.reply(Boolean).作为此方法的参数,指定true回复所有消息接收者,或设置false仅回复发送者.
|
Store store = Session.waitForDefaultSession().getStore();
Folder[] folders = store.list(INBOX);
Folder inbox = folders[0];
Message[] messages = folder.getMessages();
if( messages.length > 0 ) {
Message msg = messages[0];
}
Message reply = msg.reply(true);
Transport.send(reply);
|
转发一个消息
调用一个已存在Message对象的forward()方法.
注:转发消息的主题行会自动设置为FW:<original_subject>.
|
Message fwdmsg = msg.forward();
|
增加接收者
创建地址数组,然后调用addRecipients(int, Address[]).
|
Address toList[] = new Address[1];
toList[0]= new Address("aisha.wahl@blackberry.com", "Katie Laird");
fwdmsg.addRecipients(Message.RecipientType.TO, toList);
|
指定消息内容
调用setContent(String).
<!--[if !vml]-->
<!--[endif]-->注:你不能编辑转化消息的文本, setContent()方法在转化的消息前增加文本.
|
try {
fwdmsg.setContent("This is a forwarded message.");
}
catch(MessagingException e) {
System.out.println(e.getMessage());
}
|
发送消息
调用Send(Message).
|
try {
Transport.send(fwdmsg);
}
catch(MessagingException e) {
System.out.println(e.getMessage());
}
try
{
Transport.send(fwdmsg);
}
catch(MessagingException e) {
System.out.println(e.getMessage());
}
|