DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: forget66
今日帖子: 65
在线用户: 12
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 dnlidj (平淡是真) ★☆☆☆☆ -
普通会员
2003/4/24 16:29:40
标题:
用DELPHI发邮件问题。 浏览:3630
加入我的收藏
楼主: 我用DELPHI6的EMAIL控件做了一个发邮件的程序,连接没问题可发时出错提示是:
533 You are not authorized to send mail as <MAIL FROM:<dnlidj@163.com>>, authentication is required.
哪位帮帮忙谢谢
----------------------------------------------
平平淡淡才最真
作者:
女 123 (猪猪) ★☆☆☆☆ -
盒子活跃会员
2003/4/24 17:40:38
1楼: 参考
http://bbs.2ccc.com/topic.asp?topicid=13864
你也是认证问题.
----------------------------------------------
-
作者:
男 dnlidj (平淡是真) ★☆☆☆☆ -
普通会员
2003/4/24 20:10:03
2楼: 我用的是D6,和D7所用的控件不一样,D6的SMTP没有PASSWORD属性。

把你用D7做的程序给我看看呀好吗?

我的邮箱是:dnlidj@163.com

----------------------------------------------
平平淡淡才最真
作者:
男 dnlidj (平淡是真) ★☆☆☆☆ -
普通会员
2003/4/24 21:08:13
3楼: 我的原码如下:
unit EMAIL;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, NMsmtp, Psock, NMpop3, ExtCtrls, ComCtrls, jpeg;

type
  TForm1 = class(TForm)
    NMP: TNMPOP3;
    NMS: TNMSMTP;
    StatusBar1: TStatusBar;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Button1: TButton;
    Edit1: TLabeledEdit;
    Edit2: TLabeledEdit;
    Edit3: TLabeledEdit;
    Edit4: TLabeledEdit;
    Edit5: TLabeledEdit;
    Edit6: TLabeledEdit;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    GroupBox2: TGroupBox;
    ListBox1: TListBox;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    OpenDialog1: TOpenDialog;
    Button5: TButton;
    pEdit1: TLabeledEdit;
    pEdit2: TLabeledEdit;
    pEdit3: TLabeledEdit;
    pEdit4: TLabeledEdit;
    pEdit5: TLabeledEdit;
    pEdit6: TLabeledEdit;
    GroupBox3: TGroupBox;
    Memo2: TMemo;
    GroupBox4: TGroupBox;
    ListBox2: TListBox;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    TabSheet3: TTabSheet;
    Image1: TImage;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure NMPConnect(Sender: TObject);
    procedure NMPList(Msg, Size: Integer);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure NMSConnect(Sender: TObject);
    procedure NMSPacketSent(Sender: TObject);
    procedure NMSEncodeEnd(Filename: String);
    procedure NMSEncodeStart(Filename: String);
    procedure NMPRetrieveEnd(Sender: TObject);
    procedure NMPRetrieveStart(Sender: TObject);
    procedure NMPPacketRecvd(Sender: TObject);
    procedure NMPSuccess(Sender: TObject);
    procedure NMPHostResolved(Sender: TComponent);
    procedure NMPInvalidHost(var Handled: Boolean);
    procedure NMPConnectionFailed(Sender: TObject);
    procedure NMPConnectionRequired(var Handled: Boolean);
    procedure NMPFailure(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
nms.Host :=edit3.Text;
nms.Port :=strtoint(edit4.Text);
nms.UserID :=edit5.Text;
nms.Connect;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then listbox1.Items.Add(opendialog1.FileName);
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
listbox1.Items.Delete(listbox1.ItemIndex);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
nms.PostMessage.FromAddress:=edit6.Text;
nms.PostMessage.Subject:=edit2.Text;
nms.PostMessage.ToAddress.Add(edit1.Text);
nms.PostMessage.Attachments.AddStrings(listbox1.Items);
nms.PostMessage.Body.Assign(memo1.Lines);
nms.SendMail;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
nmp.AttachFilePath :='C:\My Documents';
nmp.DeleteOnRead :=false;
nmp.TimeOut :=20000;
nmp.Host :=pedit3.Text;
nmp.Port :=strtoint(pedit4.Text);
nmp.UserID :=pedit5.Text;
nmp.Password :=pedit6.Text;
nmp.Connect;
end;

procedure TForm1.NMPConnect(Sender: TObject);
begin
statusbar1.SimpleText :='连接.';
nmp.List;
end;

procedure TForm1.NMPList(Msg, Size: Integer);
begin
listbox2.Items.Add(inttostr(msg)+'/'+inttostr(size));
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
nmp.GetMailMessage(listbox1.ItemIndex+1);
pedit1.Text :=nmp.MailMessage.From;
pedit2.Text :=nmp.MailMessage.Subject;
memo1.Lines.Assign(nmp.MailMessage.Body);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
nmp.Disconnect;
end;

procedure TForm1.NMSConnect(Sender: TObject);
begin
statusbar1.SimpleText :='连接.';
end;

procedure TForm1.NMSPacketSent(Sender: TObject);
begin
statusbar1.SimpleText :='共:'+inttostr(nms.BytesTotal)+'字节,已发送:'+inttostr(nms.BytesSent)+'字节.';
end;

procedure TForm1.NMSEncodeEnd(Filename: String);
begin
statusbar1.SimpleText :='完成编码:'+filename;
end;

procedure TForm1.NMSEncodeStart(Filename: String);
begin
statusbar1.SimpleText :='正在编码:'+filename;
end;

procedure TForm1.NMPRetrieveEnd(Sender: TObject);
begin
form1.Cursor:=crdefault;
statusbar1.SimpleText :='检索完毕.';
end;

procedure TForm1.NMPRetrieveStart(Sender: TObject);
begin
form1.Cursor :=crhourglass;
statusbar1.SimpleText :='开始检索.';
end;

procedure TForm1.NMPPacketRecvd(Sender: TObject);
begin
statusbar1.SimpleText :='共:'+inttostr(nmp.BytesTotal)+'字节,已接收:'+inttostr(nmp.BytesRecvd)+'字节.';
end;

procedure TForm1.NMPSuccess(Sender: TObject);
begin
statusbar1.SimpleText :='操作成功.';
end;

procedure TForm1.NMPHostResolved(Sender: TComponent);
begin
statusbar1.SimpleText :='Host Resolved';
end;

procedure TForm1.NMPInvalidHost(var Handled: Boolean);
var tmpstr:string;
begin
if inputquery('Invalid Host!','Specify a new host:',tmpstr) then
  begin
    nmp.Host :=tmpstr;
    handled:=true;
  end;
end;

procedure TForm1.NMPConnectionFailed(Sender: TObject);
begin
messagebox(handle,'连接失败,请检查帐号和密码!','错误',mb_ok or mb_iconerror);
end;

procedure TForm1.NMPConnectionRequired(var Handled: Boolean);
begin
if messagebox(handle,'未连接到服务器,现在连接吗?','错误',mb_yesno or mb_iconerror)=idyes then
  begin
    handled:=true;
    nmp.Connect;
  end;
end;

procedure TForm1.NMPFailure(Sender: TObject);
begin
messagebox(handle,'操作失败','错误',mb_ok or mb_iconerror);
end;

end.

----------------------------------------------
平平淡淡才最真
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS