2022年Delphi让你发送Flash电子邮件(2)Delphi教程.docx
《2022年Delphi让你发送Flash电子邮件(2)Delphi教程.docx》由会员分享,可在线阅读,更多相关《2022年Delphi让你发送Flash电子邮件(2)Delphi教程.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年Delphi让你发送Flash电子邮件(2)Delphi教程 Delphi让你发送Flash电子邮件完整源代码: {*Unit1.pas源代码内容如下*}unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls, Psock, NMsmtp;typeTForm1 = class(TForm)Label1: TLabel;txtTo: TEdit;Label2: TLabel;txtFrom:
2、TEdit;Label3: TLabel;txtSubject: TEdit;Label4: TLabel;memContents: TMemo;Label5: TLabel;txtUserName: TEdit;Label6: TLabel;txtPassword: TEdit;chkSmtpVerify: TCheckBox;btnSend: TButton;btnOpen: TButton;txtSwfFile: TEdit;Label7: TLabel;OpenDialog1: TOpenDialog;Label8: TLabel;txtSmtpServer: TEdit;NMSMTP
3、1: TNMSMTP;Label9: TLabel;txtPort: TEdit;procedure btnOpenClick(Sender: TObject);procedure btnSendClick(Sender: TObject);procedure NMSMTP1SendStart(Sender: TObject);procedure NMSMTP1Connect(Sender: TObject);procedure chkSmtpVerifyClick(Sender: TObject);private{ Private declarations }public
4、{ Public declarations }end;varForm1: TForm1;function EncodeString(Decoded:string):String;function EncodeBASE64(Encoded: TMemoryStream {TMailText} Decoded: TMemoryStream): Integer; /编码函数implementation{$R *.dfm}{对参数TMemoryStrema中的字节流进行Base64编码,编码后的结果保存在Encoded中,函
5、数返回编码长度}function EncodeBASE64(Encoded: TMemoryStream ; Decoded: TMemoryStream): Integer;const_Code64: String64 =(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);varI: LongInt;B: array0.2279 of Byte;J, K, L, M, Quads: Integer;Stream: string76;EncLine: String;beginEncoded.Clear;
6、Stream := ;Quads := 0;{为提高效率,每2280字节流为一组进行编码}J := Decoded.Size div 2280;Decoded.Position := 0;{对前J*2280个字节流进行编码}for I := 1 to J dobeginDecoded.Read(B, 2280);for M := 0 to 39 dobeginfor K := 0 to 18 dobeginL:= 57*M + 3*K;StreamQuads+1 := _Code64(BL div 4)+1;StreamQuads+2 := _Code6
7、4(BL mod 4)*16 + (BL+1 div 16)+1;StreamQuads+3 := _Code64(BL+1 mod 16)*4 + (BL+2 div 64)+1;StreamQuads+4 := _Code64BL+2 mod 64+1;Inc(Quads, 4);if Quads = 76 thenbeginStream0 := #76;EncLine := Stream+#13#10;Encoded.Write(EncLine1, Length(EncLine);Quads := 0;end;end;end;end;{对以2280为模的余数字节流进行编码
8、25;J := (Decoded.Size mod 2280) div 3;for I := 1 to J dobeginDecoded.Read(B, 3);StreamQuads+1 := _Code64(B0 div 4)+1;StreamQuads+2 := _Code64(B0 mod 4)*16 + (B1 div 16)+1;StreamQuads+3 := _Code64(B1 mod 16)*4 + (B2 div 64)+1;StreamQuads+4 := _Code64B2 mod 64+1;Inc(Quads, 4);{每行76个字符}if Qua
9、ds = 76 thenbeginStream0 := #76;EncLine := Stream+#13#10;Encoded.Write(EncLine1, Length(EncLine);Quads := 0;end;end;{“=”补位}if (Decoded.Size mod 3) = 2 thenbeginDecoded.Read(B, 2);StreamQuads+1 := _Code64(B0 div 4)+1;StreamQuads+2 := _Code64(B0 mod 4)*16 + (B1 div 16)+1;StreamQuads+3 := _Co
10、de64(B1 mod 16)*4 + 1;StreamQuads+4 := =;Inc(Quads, 4);end;if (Decoded.Size mod 3) = 1 thenbeginDecoded.Read(B, 1);StreamQuads+1 := _Code64(B0 div 4)+1;StreamQuads+2 := _Code64(B0 mod 4)*16 + 1;StreamQuads+3 := =;pageStreamQuads+4 := =;Inc(Quads, 4);end;Stream0 := Chr(Quads);if Quads > 0 thenbegi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 Delphi 发送 Flash 电子邮件 教程
限制150内