delphi 6如何使用CDO_TLB发送电子邮件

时间:2013-08-23 03:42:57

标签: delphi email gmail send

我知道这是一个老话题,我试过 看看互联网的解决方案。 代码有点直接但无法实现 上班。

我已经有了代码,但是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;

1 个答案:

答案 0 :(得分: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;