我做的一个发送邮件的程序,发送局域网邮件没问题,但发到互联网上就出现问题?看看!(70分)

  • 主题发起人 主题发起人 chayi_chayi
  • 开始时间 开始时间
C

chayi_chayi

Unregistered / Unconfirmed
GUEST, unregistred user!
我做的一个发送邮件的程序,发送局域网邮件没问题,但发到互联网上就出现问题?看看!
出现“Socket Error # 10061 Connection Refused”,请问是怎么回事啊?
我用的是163的和SOHU的测试,结果不行?
163的是SMTP.163.COM
SOHU的是freemail.sohu.com,
是不是服务器地址有错啊?
极盼回答!问题解决给分!
 
有没有人回答啊?
把帖子往前赶一赶,高手们还望赐教啊!
 
下面的程序经过测试是OK的,使用了INDY控件,可以发给WWW邮箱:

unit email_Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, StdCtrls, IdMessage;

type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
Button1: TButton;
IdMessage1: TIdMessage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Attachment_name:String;
begin
Attachment_name:='d:/attachment.rar';
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Host:='smtp.sohu.com';
IdSMTP1.Port:=25;
IdSMTP1.Username:='aaa';
IdSMTP1.Password:='bbb';
IdMessage1.Body.add('测试中文4');
IdMessage1.From.Text:='abc@a.com';
IdMessage1.Recipients.EMailAddresses:='aaa@sina.com';
//IdMessage1.CCList.EMailAddresses := edtCC.Text;// {CC}
//IdMessage1.BccList.EMailAddresses:='aaa@b.com' //{BBC}
IdMessage1.Subject:='This is a test !';
if FileExists(Attachment_name) then TIdAttachment.Create(IdMessage1.MessageParts,Attachment_name);
try
IdSMTP1.Connect(-1);
IdSMTP1.Send(IdMessage1);
showmessage('OK');
except
showmessage('Error !');
end;
IdSMTP1.Disconnect;
end;

end.
 
前面的朋友程序好像不行啊,还是发不到互联网上的邮箱中.看看是啥问题?
 
会不会是在服务器上发送邮件的端口被封了,或者邮件的数据包无法通过防火墙
 
一起来学习一下
 
你用indy10就可以发送了,我用以前的indy版本就是发不出去现在就可以了
 
我正要这代码,收下.谢谢
 
后退
顶部