delphi7发送邮件问题请高指教 ( 积分: 50 )

  • 主题发起人 主题发起人 陈浪
  • 开始时间 开始时间

陈浪

Unregistered / Unconfirmed
GUEST, unregistred user!
var str: string;
strFile:TmemoryStream ;
strList:Tstringlist;
tmp:TstringS;
i:integer;
begin
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Username:='yinjianok';
IdSMTP1.Password :='*********';
idsmtp1.Host:='smtp.163.com';
idsmtp1.Port:=25;
try
idsmtp1.Connect;
except
Showmessage('连接SMTP服务器失败!');
exit;
end;
strFile:=Tmemorystream.Create ;
strlist:=tstringlist.Create ;
strlist.LoadFromFile('c:/yin/at.txt'); //HTML格式文件 做为邮件内容
msg.Body.Clear ;
msg.ContentType :='text/html';
msg.Body.Text:=strlist.Text ;
msg.From.Text :='yinjianok@163.com';
msg.Recipients.EMailAddresses :='shugengboy@163.com';
msg.Subject :='你好';
tidattachment.Create(msg.MessageParts,'c:/yin/1.jpg');//附件
try
idsmtp1.Send(msg);
showmessage('dd');
except
idsmtp1.Disconnect;
showmessage('1111111');
end;
以代码发送成功,但信体的HTML部分会出现显示原码(HTML)!如果把附件部分去掉邮件显示正常,(如果把这张图片(c:/yin/1.jpg)嵌入到信体中(HTML)显示出来!~该怎么处理)
我是初学者 请高手指教!
 
var str: string;
strFile:TmemoryStream ;
strList:Tstringlist;
tmp:TstringS;
i:integer;
begin
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Username:='yinjianok';
IdSMTP1.Password :='*********';
idsmtp1.Host:='smtp.163.com';
idsmtp1.Port:=25;
try
idsmtp1.Connect;
except
Showmessage('连接SMTP服务器失败!');
exit;
end;
strFile:=Tmemorystream.Create ;
strlist:=tstringlist.Create ;
strlist.LoadFromFile('c:/yin/at.txt'); //HTML格式文件 做为邮件内容
msg.Body.Clear ;
msg.ContentType :='text/html';
msg.Body.Text:=strlist.Text ;
msg.From.Text :='yinjianok@163.com';
msg.Recipients.EMailAddresses :='shugengboy@163.com';
msg.Subject :='你好';
tidattachment.Create(msg.MessageParts,'c:/yin/1.jpg');//附件
try
idsmtp1.Send(msg);
showmessage('dd');
except
idsmtp1.Disconnect;
showmessage('1111111');
end;
以代码发送成功,但信体的HTML部分会出现显示原码(HTML)!如果把附件部分去掉邮件显示正常,(如果把这张图片(c:/yin/1.jpg)嵌入到信体中(HTML)显示出来!~该怎么处理)
我是初学者 请高手指教!
 
indy的版本等也很重要。
楼主可以到hubdog的小窝下载一个发邮件的Demo,应该是修复过indy的某些小bug
 
默认为ASC II字符,需要转换为unicode,具体名字忘记了,就是使用 %20 来表示空格的那种
 
后退
顶部