最近两天,很巧,又写delphi的电子邮件客户端,还写了Java的电子邮件发送的小程序,一个是工作需要,另一个则是帮朋友的忙,有点巧.
1.Java的电子有件发送程序
SendMailBean.java
package adu.com.kingsoft;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMailBean {
private String form;
private String to;
private String hostName;
private String port;
private String userName;
private String password;
private String subject;
private String body;
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getForm() {
return form;
}
public void setForm(String form) {
this.form = form;
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public boolean sendMail(){
Properties props=new Properties();
// props.put("mail.smtp.protocol","smtp");
props.put("mail.smtp.host",hostName);
props.put("mail.smtp.auth","true");
props.put("mail.smpt.port",port);
Session mailsession=Session.getInstance(props,null); //得到一个发送邮件的会话
Message msg=new MimeMessage(mailsession);
try{
msg.setFrom(new InternetAddress(this.getForm()));
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(this.getTo()));
msg.setSubject(this.getSubject());
msg.setSentDate(new Date());
msg.setText(this.getBody());
Transport transport = mailsession.getTransport("smtp");
transport.connect(this.getHostName(),this.getUserName(),this.getPassword());
transport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO));
// System.out.println("邮件以成功发送到dushengjun@gmail.com");
transport.close();
return true;
}catch(Exception e)
{
System.out.println("产生异常:"+e);
return false;
}
}
}
JavaMailApp .java
package adu.com.kingsoft;
import java.util.Date;
import java.util.Properties;
public class JavaMailApp {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("正在准备发送.....");
SendMailBean smb=new SendMailBean();
smb.setUserName("dushengjun");
smb.setForm("dushengjun@kingsoft.net");
smb.setHostName("mail.kingsoft.net");
smb.setPassword("***************");
smb.setPort("25");
smb.setTo("dushengjun@gmail.com");
smb.setSubject("你好");
smb.setBody("你好 Java");
if(smb.sendMail())
System.out.println("发送成功");
else
System.out.println("发送失败");
}
}
同时将如下的包加到classpath中:
activation.jar,dsn.jar,imap.jar,mailapi.jar,pop3.jar,smtp.jar
可以测试了,运行一下JavaMailApp 吧
2.Delphi的电子邮件客户端实现
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, IdMessage, ComCtrls;
type
TForm1 = class(TForm)
idSMTP: TIdSMTP;
Button1: TButton;
idMessage: TIdMessage;
letter_subject: TEdit;
me_content: TRichEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
receiver_address: TEdit;
Label4: TLabel;
me_address: TEdit;
me_pwd: TLabel;
mypassword: TEdit;
Label5: TLabel;
me_port: TEdit;
myHostName: TEdit;
Label6: TLabel;
Edit1: TEdit;
Label7: TLabel;
Button2: TButton;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
subject :String;
rec_address :String;
self_address :String;
password :String;
content :String;
port :Integer;
hostName :String;
begin
subject:=letter_subject.Text;
rec_address:=receiver_address.Text;
self_address:=me_address.Text;
port:=StrToInt(me_port.Text);
password:=mypassword.text;
hostName:=myHostName.Text;
content:=me_content.text;
if idMessage = NIL then
idMessage.Create(Form1);
if idSMTP=NIL then
idSMTP.Create(Form1);
TIdAttachment.Create(IdMessage.MessageParts,edit1.Text);
IdMessage.Body.Assign(me_content.lines);
IdMessage.From.Text := self_address;
IdMessage.ReplyTo.EMailAddresses := self_address;
IdMessage.Recipients.EMailAddresses := rec_address;
IdMessage.Subject := subject;
idSMTP.AuthenticationType := atLogin;
// idSMTP.AuthenticationType:=atNone;
idSMTP.Username := self_address;
idSMTP.Password := password;
idSMTP.Host :=hostName;
idSMTP.Port := port;
try
idSMTP.Connect;
idSMTP.Send(idMessage);
//idSMTP.DisconnectSocket;
idSMTP.Disconnect;
//idSMTP.Destroy;
showmessage('send mail ok');
except
//idSMTP.Destroy;
//idMessage.Destroy;
showmessage('mail send false');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if(openDialog1.Execute) then
begin
Edit1.Text:=opendialog1.FileName;
end;
end;
end.
分享到:
相关推荐
简单Java邮件发送 上传的文件中有一个Jar包和demo源码
实现简单的邮件发送功能,可以使用它实现邮箱验证功能,以及发送通知,代码简洁,使用方便,效率高效。
java实现邮件发送代码,只是一个简单功能的实现,需要的朋友可以下载
电子邮件的应用非常广泛,常见的如在某网站注册了一个账户,自动发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等。...简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。
主要介绍了Java实现简单邮件发送的相关资料,实例讲解了java邮件发送实现方法,感兴趣的小伙伴们可以参考一下
实现java发送邮件,支持各种邮箱,通过激活码激活账户,代码简单易懂。
java实现的一个简单邮件程序,含源码
简单的java实现邮件发送 一般用于注册
JAVA发送邮件实现,发送邮件内容消息格式化,简单易操作
简单java邮件发送代码,包括email架包,让你轻松体验java邮件功能!
主要为大家详细介绍了基于JavaMail的Java实现简单邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
很简单很好用,内附有示例代码,希望给大家带来帮助…
通过Java实现的邮件发放功能,可自行设置邮箱类型,有示例代码
java 语言实现邮件的发送,本资源是一个完整的小项目,eclipse 导入就可以直接用了。代码简单,注释全面,一看就懂。有问题欢迎交流。
java简单--邮件发送 是本人自己写的邮件发送 并打包成jar文件 方便实用 使用的时候只需要导jar文件 并且一行代码搞定邮件发送操作 简单方便发送 邮件 下载评论反还积分 邮件发送系统操作: 第一步骤: 将...
JAVA发送邮件代码实现,资料在附件中,简单易操作,入门基础知识
简单邮件发送程序,java实现,包括发送和接受端两部分,需要的可以借鉴看看。
java实现简单的邮件发送,写明了原理及过程,对于初学者有一定的帮助。
Java 超简单实现发送邮件(可动态控制发送人数)