夢開始的地方

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            4 隨筆 :: 0 文章 :: 3 評論 :: 0 Trackbacks
          ??? 最近兩天,很巧,又寫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.
          ?

          ?
          posted on 2006-09-07 12:39 Dushengjun 閱讀(305) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永川市| 墨脱县| 昌邑市| 武宣县| 平顺县| 桃江县| 山阳县| 藁城市| 中宁县| 景宁| 栾城县| 大同县| 闽侯县| 梁山县| 宕昌县| 嘉黎县| 海南省| 江门市| 定陶县| 当阳市| 阿拉善右旗| 健康| 大连市| 米泉市| 平江县| 手游| 保康县| 成安县| 枣阳市| 连江县| 靖远县| 余江县| 秦安县| 河北省| 唐河县| 彩票| 郯城县| 石林| 顺昌县| 鄱阳县| 武夷山市|