【发布时间】:2014-10-12 19:02:12
【问题描述】:
我正在尝试使用此代码发送邮件:
With IdMessage1 Do Begin
Recipients.EMailAddresses := 'XXXXX@gmail.com';
From.Address := 'XXXXX@gmail.com';
From.Name := edit_from.Text;
CCList.EMailAddresses := '';
BccList.EMailAddresses := '';
Priority := mpNormal;
Subject := edit_subject.Text;
Body.Add(memo_body.Lines.Text);
End;
With IdSMTP1 Do Begin
Host := 'smtp.gmail.com';
Username := 'XXXXX@gmail.com';
Password := '*****';
IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
Port := 465;
UseTLS := utUseImplicitTLS;
Try
Connect;
Except
End;
If Not Connected Then Begin
Showmessage('Error');
Exit;
End;
Try
Send(IdMessage1);
Finally
Disconnect;
End;
End;
它在我的计算机上运行良好,但是当我在其他机器上测试它时,将引发“错误”(在最后一个 Try 块之前的 If 块中出错)...
问题出在哪里?
【问题讨论】:
-
您是否在其他机器上安装了 OpenSSL 库?
-
引发了什么“错误”?
-
该错误可能告诉您缺少 DLL。在不告诉我们错误消息/代码的情况下,您永远不应该询问有关代码错误的问题。
-
你看过openssl.org 吗?有一些有用的信息(fi. FAQ 部分)可以帮助您入门
-
Indy 的 Fulgan 镜像上有可用的 OpenSSL DLL:indy.fulgan.com/SSL。
标签: delphi indy delphi-xe5