【问题标题】:delphi 6 how to sending email using CDO_TLBdelphi 6如何使用CDO_TLB发送电子邮件
【发布时间】:2013-08-26 00:05:47
【问题描述】:

我知道这是一个老话题,我已经尝试过 在互联网上寻找解决方案。 代码有点直截了当,但无法实现 去工作。

我已经有了代码,但是 delphi 6 给了我一条消息

“SendUsing”配置值无效

我的目标是将文件附件发送到我自己的 gmail 帐户。

procedure TForm1.Button1Click(Sender: TObject);
var
  M: IMessage;
  s: string;
begin
  //uses CDO_TLB;

  M := CoMessage.Create;
  M.From := 'myname@gmail.com';
  M.To_ := 'myname@gmail.com';
  M.Subject := 'This is subject' + datetimetostr(now);
  M.TextBody := 'This is text body' + datetimetostr(now);

  s := 'http://schemas.microsoft.com/cdo/configuration/';
  with M.Configuration.Fields do begin
    Item[s + 'sendusing'].Value := cdoSendUsingPort;
    Item[s + 'smtpserver'].Value := 'smtp.gmail.com';
    Item[s + 'smtpauthenticate'].Value := cdoBasic ;
    Item[s + 'sendusername'].Value := 'myname';
    Item[s + 'sendpassword'].Value := 'mypassword';
    Item[s + 'smtpserverport'].Value := 465;
    Item[s + 'smtpusessl'].Value := False;
    Item[s + 'smtpconnectiontimeout'].Value := 5;  // default is 30 seconds
    Update;
  end;

  try
    M.Send;
    // success
  except
    // fail
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;

【问题讨论】:

  • 您是否尝试将smtpusessl 设置为true。 TCP 端口 465 通常用于带有 SSL 的 SMTP。

标签: delphi email gmail send


【解决方案1】:
procedure TForm1.Button1Click(Sender: TObject);
var
  M: IMessage;
  s: string;
begin
  //uses CDO_TLB;
  M := CoMessage.Create;
  M.From := 'myname@gmail.com';
  M.To_ := 'myname@gmail.com';
  M.Subject := 'This is subject' + datetimetostr(now);
  M.TextBody := 'This is text body' + datetimetostr(now);
  s := 'http://schemas.microsoft.com/cdo/configuration/';
  with M.Configuration.Fields do begin
    Item[s + 'sendusing'].Value := cdoSendUsingPort;
    Item[s + 'smtpserver'].Value := 'smtp.gmail.com';
    Item[s + 'smtpauthenticate'].Value := cdoBasic ;
    Item[s + 'sendusername'].Value := 'myname@gmail.com';
    Item[s + 'sendpassword'].Value := 'mypassword';
    Item[s + 'smtpserverport'].Value := 465;
    Item[s + 'smtpusessl'].Value := True;
    Item[s + 'smtpssl'].Value:='yes';
    Item[s + 'smtpconnectiontimeout'].Value := 5;  // default is 30 seconds
    Update;
  end;
  try
    M.Send;
    // success
      ShowMessage('Sukses mengirim email!');
  except
    // fail
    on E: Exception do
      ShowMessage(E.Message);
  end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    相关资源
    最近更新 更多