关于邮件发送,该怎么解决

关于邮件发送
固定发出帐号,但接收邮箱有可能各种(@qq.com, @163.com, @sina.com...)

大家做过成熟的邮件发送的一般用什么组件?
Indy的TidSmtp与TidMessage(是不是有些邮箱接收不到)
jmail
还是其它组件呢。

如果有DEMO是最好了,谢谢。

------解决方案--------------------
偶的是idsmtp, http://www.ydtuiguang.com/wztgSEO/ydyjqf/index.html
indy10 应该没什么问题
------解决方案--------------------
现在网上流行的邮箱都可以,当然包括楼主列出的这几个
不过GMail有点特别,他用了SSL,所要加要一个TIdSSLIOHandlerSocket
网上有很多发邮件的例子,自已百度一下吧

var
 SSL:TIdSSLIOHandlerSocket;
begin
 SSL:= TIdSSLIOHandlerSocket.Create(nil);
 IdSMTP1.IOHandler := SSL;

 ...
 SSL.Free;
end;
------解决方案--------------------
我的也是想发送邮件,用IdSMTP和IdMessage
  // 发件人地址
  IdMessage1.From.Address := 'hzjrsoft@sina.com';
  // 发件人姓名
  IdMessage1.From.Name := 'hzjrsoft';
  // 清空附件
  IdMessage1.Clear;
  IdMessage1.Recipients.Clear;
  // 收件人地址
  IdMessage1.Recipients.EMailAddresses := '9951853@qq.com';
  // 主题
  IdMessage1.Subject := 'TEST_JRSOFT';
  // 填写正文
  IdMessage1.Body.Add('明日开会通知 务必到场');
  // 添加附件
  TidAttachment.Create(IdMessage1.MessageParts, edt_File.Text);
  // SMTP服务器
  IdSMTP1.Host := 'smtp.sina.com';
  // 账号
  IdSMTP1.Username := 'hzjrsoft';
  // 密码
  IdSMTP1.Password := edt_Psw.Text;
  // 登录时验证身份
  IdSMTP1.AuthenticationType := atLogin;
  // 连接服务器
  IdSMTP1.Connect;
  // 加密
  IdSMTP1.Authenticate;
  // 发送邮件
  try
  IdSMTP1.Send(IdMessage1);
  finally
  // 连接关闭
  IdSMTP1.Disconnect;
,在IdSMTP1WorkEnd事件中ShowMessage('发送完毕!');
提示成功,但是实际没有发送成功!