请关注: 怎么从邮件服务器接收邮件列表,和身份验证??下面有发送程序。

jilongge 2002-03-08 03:00:20
//邮件发送程序
import java.awt.*;
import java.io.*;
import java.net.*;

public class MailSample extends Frame {
public static void main(String args[]){
MainFrame mf = new MainFrame();
mf.setSize(400,300);
mf.show();
}
}

class Mail {
private String mailServer, recipient, adresser, subject, content;

public void sendMail() {
try {
Socket s = new Socket(mailServer, 25);
BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream(), "8859_1"));
BufferedWriter out = new BufferedWriter
(new OutputStreamWriter(s.getOutputStream(), "8859_1"));

send(in, out, "MAIL FROM: " + adresser);
send(in, out, "RCPT TO: " + recipient);
send(in, out, "DATA");
send(out, "Subject: " + subject);
send(out, "From: " + adresser);
send (out, "\n");

send(out, content);
send(out, "\n.\n");
send(in, out, "QUIT");
s.close();
}
catch (Exception e) { e.printStackTrace(); }
}

public void setKey(MainFrame ms){
mailServer = ms.t0.getText();
recipient = ms.t1.getText();
adresser = ms.t2.getText();
subject = ms.t3.getText();
content = ms.t4.getText();
}

public void displayKey(){
System.out.println("Mailserver : " + mailServer);
System.out.println("Recipient : " + recipient);
System.out.println("Adresser : " + adresser);
System.out.println("Subject : " + subject);
System.out.println("Content : " + content);
}

public void send(BufferedReader in, BufferedWriter out, String s) {
try {
out.write(s + "\n");
out.flush();
System.out.println(s);
s = in.readLine();
System.out.println(s);
}
catch (Exception e) { e.printStackTrace(); }
}

public void send(BufferedWriter out, String s) {
try {
out.write(s + "\n");
out.flush();
System.out.println(s);
}
catch (Exception e) { e.printStackTrace(); }
}
}

class MainFrame extends Frame{
Button b = new Button("发送");
MenuBar mb = new MenuBar();
Menu file = new Menu("File");
Menu edit = new Menu("Edit");
Menu help = new Menu("Help");
MenuItem[] f = { new MenuItem("Open"),new MenuItem("Exit") };

TextField t0 = new TextField("", 30);
TextField t1 = new TextField("", 30);
TextField t2 = new TextField("", 30);
TextField t3 = new TextField("", 30);
TextArea t4 = new TextArea("",4, 30);

Label l0 = new Label("邮件服务器");
Label l1 = new Label("发件人");
Label l2 = new Label("收件人");
Label l3 = new Label("邮件标题");
Label l4 = new Label("邮件正文");

public MainFrame() {
for(int i = 0; i < f.length; i++) file.add(f[i]);
mb.add(file);
mb.add(edit);
mb.add(help);
setMenuBar(mb);

this.setLayout(new GridLayout(6,2));
add(l0); add(t0);
add(l1); add(t1);
add(l2); add(t2);
add(l3); add(t3);
add(l4); add(t4);
add(b);
}

public boolean handleEvent(Event evt) {
if(evt.id == Event.WINDOW_DESTROY)
System.exit(0);
else
return super.handleEvent(evt);
return true;
}

public boolean action(Event evt, Object arg) {
if(evt.target.equals(b))
{
Mail mail = new Mail();
mail.setKey(this);
mail.displayKey();
mail.sendMail();
}
else
return super.action(evt, arg);
return true;
}
}
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
TarzanCN 2002-09-10
  • 打赏
  • 举报
回复
import javax.mail.*;
import javax.mail.internet.*;

class Retrieve {
public static void main(String args[]) {
private Store m_Store = null;
private javax.mail.Session m_Session = javax.mail.Session.getDefaultInstance(System.getProperties(), null);
private javax.mail.Folder m_Folder = null;
private MimeMessage m_Message;

int MessageCount = 0;

try {
m_Store = m_Session.getStore("pop3");
m_Store.connect(RemoteHost, UserName, Password); // Here is your remote host, ....
m_Folder = m_Store.getFolder("inbox");

if (!m_Folder.exists()) {
m_Folder = null;
return;
}

m_Folder.open(javax.mail.Folder.READ_WRITE);
MessageCount = m_Folder.getMessageCount();

} catch(NoSuchProviderException e) {
} catch(AuthenticationFailedException e) {
} catch(MessagingException e) {}

for (int i = 0; i < MessageCount; i++) {
m_Message = (MimeMessage)m_Folder.getMessage(i);
//Get bodytext
Object obj = m_Message.getContent();
//if (obj instanceof String) {
// BodyText = (String)obj;
//}
//else if (obj instanceof MimeMultipart) {
// Todo ...
//}
//else if (obj instanceof InputStream) {
// Todo ...
//}
System.out.println(obj);
}
}
}
jilongge 2002-09-10
  • 打赏
  • 举报
回复
我想结贴,请帮忙!
回复给分。
redkiki 2002-09-05
  • 打赏
  • 举报
回复
这气人的程序,每人能开得下去的!拜托你老人家吧程序整理一下了!
jilongge 2002-09-05
  • 打赏
  • 举报
回复
help
jilongge 2002-03-08
  • 打赏
  • 举报
回复
大家看看啊!

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧