代码片段:procedure TForm1.N3Click(Sender: TObject); //发送附件菜单
var
nMsg:TIdMessage;
nBody:TStringList;
begin
nMsg := TIdMessage.Create(nil); //生成一个对象TIdMessage
nBody := TStringList.Create;
nMsg.Encoding := meMIME; //nmsg编码
nMsg.ContentType := 'multipart/mixed';
nMsg.CharSet := 'gbk';
nMsg.Headers.Values['Subject']:='mytest'; //主题
nMsg.Headers.Values['from']:='myself'; //发送人
with TIdText.Create(nMsg.MessageParts, nil) do begin //此处建立邮件第一部分 文本格式
Body.Text := 'HTML goes here';
Headers.Add('Content-Type: text/html; charset=gbk');
Headers.Add('Content-Transfer-Encoding: 7bit');
ContentType := 'text/plain';
ContentTransfer := '7Bit';
end;
with TIdAttachment.Create(nMsg.MessageParts, 'c:\1.txt') do begin //此处插入附近件
Headers.LoadFromFile('c:\1.txt');
ContentDisposition :='attachment';
ContentType := 'Text';
ContentTransfer := 'base64';
FileName := '1.txt';
StoredPathName:='C:\1.txt';
end; nMsg.GenerateHeader;//生成头
//下面是我邮件未发送前的一个测试
nMsg.MessageParts.CountParts;
ShowMessage(IntToStr(nMsg.MessageParts.Count));
if nMsg.MessageParts.Items[0] is TIdAttachment then
begin
with nMsg.MessageParts.Items[0] as TIdAttachment do
begin
SaveToFile('D:\1.jpg'); //这里确实存到了D盘,证明该邮件确实包含了这个附近件
end;
end;
IdIMAP41.AppendMsg('doc',nMsg,[mfFlagged]);//此处发送
end;这样发送了后,打开WebMail,邮件是有的,但是邮件没有附近件,所以在此请教各位前辈
var
nMsg:TIdMessage;
nBody:TStringList;
begin
nMsg := TIdMessage.Create(nil); //生成一个对象TIdMessage
nBody := TStringList.Create;
nMsg.Encoding := meMIME; //nmsg编码
nMsg.ContentType := 'multipart/mixed';
nMsg.CharSet := 'gbk';
nMsg.Headers.Values['Subject']:='mytest'; //主题
nMsg.Headers.Values['from']:='myself'; //发送人
with TIdText.Create(nMsg.MessageParts, nil) do begin //此处建立邮件第一部分 文本格式
Body.Text := 'HTML goes here';
Headers.Add('Content-Type: text/html; charset=gbk');
Headers.Add('Content-Transfer-Encoding: 7bit');
ContentType := 'text/plain';
ContentTransfer := '7Bit';
end;
with TIdAttachment.Create(nMsg.MessageParts, 'c:\1.txt') do begin //此处插入附近件
Headers.LoadFromFile('c:\1.txt');
ContentDisposition :='attachment';
ContentType := 'Text';
ContentTransfer := 'base64';
FileName := '1.txt';
StoredPathName:='C:\1.txt';
end; nMsg.GenerateHeader;//生成头
//下面是我邮件未发送前的一个测试
nMsg.MessageParts.CountParts;
ShowMessage(IntToStr(nMsg.MessageParts.Count));
if nMsg.MessageParts.Items[0] is TIdAttachment then
begin
with nMsg.MessageParts.Items[0] as TIdAttachment do
begin
SaveToFile('D:\1.jpg'); //这里确实存到了D盘,证明该邮件确实包含了这个附近件
end;
end;
IdIMAP41.AppendMsg('doc',nMsg,[mfFlagged]);//此处发送
end;这样发送了后,打开WebMail,邮件是有的,但是邮件没有附近件,所以在此请教各位前辈
解决方案 »
- 关于Dev Express 汉化整合安装包 V3.2的安装问题?
- 请问个位。我不做安装包。我的意思是建个文件夹 再这个文件夹里放入exe文件,怎样让他在没有delphi的环境下运行。除了exe还的拷贝什么
- 请问在SQL Explore 中如何设置才能察看oracle7.3数据库的数据?
- 怎么在按钮里添加指向下个页面的代码。。
- 刚才还没完成的简单问题!
- 出现一个连接的问题,请大哥救急,在线急等???
- 开发三层架构时遇到的几个问题~~(初学者)
- 一个小问题,看看吧
- 有关STRINGGRID的问题!请来看看,急!
- DELPHI访问ACCESS数据库出错,怎么回事?
- 拖动时,怎样让Button等控件响应MouseMove等消息?
- 批量修改问题
换成
ContentType := 'application/octet-stream';
ExtraHeaders.Values['Content-ID'] := '<自已加>'
ContentType := 'application/octet-stream';
FileName := 'c:\1.txt';
DisplayName:= '1.txt' ;
end;这样加附件我是成功的
我按你的方法试了,还是一样,能不能帮看下其它代码是否有错误的地方
我用TIDpop3发的,都可以成功,