JvMail(JEDI)组件不发送邮件

时间:2014-04-25 22:33:01

标签: delphi delphi-xe4 jedi

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:',否则我的邮件不会被发送。 关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:1)

documentation对此很清楚

  

备注:

     

参数Address指定的地址格式为 [地址   输入] [电子邮件地址] 。有效地址的示例是   传真:206-555-1212和SMTP:M @ X.COM。

     

说明

     

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

答案 1 :(得分:0)

我没有提供任何其他解决方案或深入解释为什么你需要添加smtp,所以随时请回答这个问题。 :)

你已经有了一个解决方法,所以我会就如何解决这个问题给出一些真实世界的建议:

  1. 如果需要的话,只需在代码前加上smtp:
  2. 写一篇TODO评论说你需要弄清楚这里发生了什么
  3. 转到下一个任务
  4. 当然,除非发送电子邮件确实是您的应用程序的核心,或者您真的没有更好的事情要做。