起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 510|回复: 15

【结贴】邮件问题**

[复制链接]
发表于 2009-7-2 15:06:27 | 显示全部楼层 |阅读模式
我配置了一个外部邮箱,是QQ邮箱,但接收不到邮件,配置163的邮箱就可以,请问是什么原因
回复

使用道具 举报

发表于 2009-7-2 15:12:59 | 显示全部楼层
a

a.jpg

103.01 KB, 下载次数: 250

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-2 16:30:01 | 显示全部楼层
我已经设置了,从X3邮箱里可以发送了,但用代码发送还是收不到
回复 支持 反对

使用道具 举报

发表于 2009-7-2 18:18:04 | 显示全部楼层
代码是你自己写的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 11:12:40 | 显示全部楼层
代码就是从论坛里找的,配置163的邮箱发送一直没问题,可用QQ邮箱就发不出去
回复 支持 反对

使用道具 举报

发表于 2009-7-7 11:48:42 | 显示全部楼层
具体代码贴出来看下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 13:52:43 | 显示全部楼层
procedure TMainForm.Button1Click(Sender: TObject);
var
  SendMailExchang: TMessageExchanger;
  lMessage: TMessage;
  lAccount, FAccount: TMailAccount;
  MailSystem: TMailSystem;
  lMailContent: TMemoryStream;
begin
  SendMailExchang := TMessageExchanger.Create(nil);
  lMessage := TMessage.Create(nil);
  lAccount := TMailAccount.Create;
  MailSystem := TMailSystem.Create;
    try
    SendMailExchang.MessageKind := TMessageKind.mkSend;
    lAccount.SMTPHost := 'smtp.qq.com';
    lAccount.SMTPPort := 25;
    lAccount.POPHost := 'pop3.qq.com';
    lAccount.POPPort := 110;
    lAccount.MailAddress := 'XXX@qq.com';
    lAccount.UserID := 'XXX';
    lAccount.Password := '******';
    lAccount.AccountID := 'XXX';
    lMessage.From := 'XXX@qq.com';  //发件人
    lMessage.SendTo := 'TTT@163.com';  //收件人
    lMessage.Subject := '告警提示!';             //mail tatil
    lMessage.Body.Text := '邮件测试,多多打扰请见谅!';
    lMessage.ContentFormatType := TContentFormatType.ftHTML;  // 设置正文内容格式
    if lAccount <> nil then
    begin
      lMailContent := TMemoryStream.Create;  //用于存放邮件的正文
      lMailContent.Clear;
      lMessage.SaveToStream(lMailContent);
      lMailContent.Position := 0;  //移动流的指针
      try
        if lAccount.Verify then
        begin
          if lAccount.DifferPOP then
            SendMailExchang.SMTPMessages.Add(lAccount.VerifyAccount,
              lAccount.VerifyPassword, lAccount.SMTPHost,
              lMessage.From, lMessage.SendTo, lMailContent, lAccount.SMTPPort)
          else
            SendMailExchang.SMTPMessages.Add(lAccount.UserID, lAccount.Password,
              lAccount.SMTPHost, lMessage.From, lMessage.SendTo, lMailContent,
              lAccount.SMTPPort);
        end
        else
          SendMailExchang.SMTPMessages.Add(lAccount.SMTPHost, lMessage.From,
            lMessage.SendTo, lMailContent, lAccount.SMTPPort);
      finally
        lMailContent.Free;
        lAccount.Free;
      end;
        SendMailExchang.Active := True;  //发送邮件
        dialogs.showmessage('邮件发送成功!');
    end;
  finally
    lMessage.Free;
    MailSystem.Free;
    SendMailExchang.Free;  //  SendMailExchang对象一定要最后释放
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2009-7-7 14:02:51 | 显示全部楼层
http://service.mail.qq.com/cgi-b ... =28&&no=371
楼主,你看看qq邮箱的pop3地址设置,跟你上面代码不一样啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-7 14:22:18 | 显示全部楼层
我试过pop.qq.com,也不行
回复 支持 反对

使用道具 举报

发表于 2009-7-7 15:13:45 | 显示全部楼层
你先用foxmail或者outlook设置成功后,再调试代码。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 05:14 , Processed in 0.048321 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表