1

JvMail 组件运行不正常或我搞砸了。

procedure TForm1.RzURLLabel1Click(Sender: TObject);
begin
if cxLookUpComboBox1.Text ='' then
abort else
with JvMail1.SimpleMAPI do
begin
JvMail1.Clear;
JvMail1.Recipient.AddRecipient('smtp:mymail@gmail.com');
JvMail1.Subject := 'Password lost  ';
JvMail1.Body.Text := 'Request password  :' +#13#10+  cxLookUpComboBox1.Text +#13#10+  AdvOfficeStatusBar1.Panels[4].Text ;
JvMail1.SendMail;
end
end;

除非我在邮件地址前面加上前缀“smtp:”,否则我的邮件不会被发送。有想法该怎么解决这个吗 ?

4

2 回答 2

1

文档很清楚

笔记:

参数 Address 指定的地址格式为[address type][e-mail address]。有效地址的示例是 FAX:206-555-1212 和 SMTP:M@X.COM。

描述:

以下代码将收件人添加到收件人列表中: JvMail1.Recipient.AddRecipient('SMTP:someone@somedomain.com', 'Some one');

于 2014-04-26T08:55:06.790 回答
0

对于为什么需要添加 smtp,我没有提供任何其他解决方案或很棒的深入解释,因此请随时对这个答案投反对票。:)

您已经有了解决方法,因此我将就如何解决此问题提供一些现实世界的建议:

  1. smtp:如果需要的话,只需在代码前面加上该死的代码
  2. 写一个 TODO 评论说你需要弄清楚这里发生了什么
  3. 继续你的下一个任务

当然,除非发送电子邮件真的是你的应用程序的核心,或者你真的没有更好的事情可做。

于 2014-04-26T07:50:16.307 回答