📄 sendform.java
字号:
import javax.microedition.lcdui.*;
import java.io.IOException;
/**
* 该类描述了发送邮件。
*/
public class SendForm extends Form implements CommandListener, Runnable {
//
private EMailMIDlet midlet;
private Ticker ticker;
private TextField tfRecipients; //收件人
private TextField tfSubject; //主题
private TextField tfContent; //邮件内容
private Command cmdSend = new Command("发送", Command.SCREEN, 2);
private Command cmdBack = new Command("返回", Command.BACK, 1);
public SendForm(EMailMIDlet midlet) {
super("发送邮件");
this.midlet = midlet;
tfRecipients = new TextField("收件人:", "", 50, TextField.EMAILADDR);
tfSubject = new TextField("主题:", "", 50, TextField.ANY);
tfContent = new TextField("内容:","", 200, TextField.ANY);
tfContent.setPreferredSize(super.getWidth(), 150);
append(tfRecipients);
append(tfSubject);
append(tfContent);
ticker = new Ticker(" 编写邮件! ");
setTicker(ticker);
addCommand(cmdSend);
addCommand(cmdBack);
setCommandListener(this);
}
public void clear() {
tfRecipients.setString("");
tfSubject.setString("");
tfContent.setString("");
}
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdBack) {
midlet.backToMenu();
}
else if(cmd == cmdSend) {
String recipients = tfRecipients.getString();
if(recipients.equals("")) {
midlet.showAlert("错误!", "请输入收件人地址!");
}
else {
//创建并启动发送邮件线程
ticker.setString("正在发送邮件,请等待......");
removeCommand(cmdSend);
Thread t = new Thread(this);
t.start();
}
}
}
//发送邮件线程执行体
public void run() {
boolean isOK = true;
try {
EMailConfig config = EMailConfig.getInstance();
String localhost = System.getProperty("microedition.platform");
SMTPClient smtpClient = new SMTPClient(localhost); //创建SMTP客户端
//打开链接
smtpClient.open(config.getSMTPServer(), config.getAccounts(), config.getPassword());
//发送邮件
String subject = tfSubject.getString(); //邮件主题
String content = tfContent.getString(); //邮件内容
String recipients = tfRecipients.getString(); //收件人
smtpClient.send(subject, content, new String[]{recipients});
//关闭连接
smtpClient.close();
}
catch(IOException ioe) {
isOK = false;
midlet.showAlert("错误!", "网络错误!原因:\n" + ioe.toString());
}
catch(EMailException eme) {
isOK = false;
midlet.showAlert("错误!", "邮件发送错误!原因:\n" + eme.toString());
}
if(isOK) {
ticker.setString("发送邮件成功!!!");
}
else {
ticker.setString("发送邮件失败!!!请重新发送");
}
addCommand(cmdSend);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -