如何发送正文内容为html格式的邮件?(100分)

  • 主题发起人 主题发起人 7030
  • 开始时间 开始时间
7

7030

Unregistered / Unconfirmed
GUEST, unregistred user!
有一打印预览出来的报表,存成HTML文件以后,如何通过outlook或outlook express作为
邮件的正文发送出去?
 
用附件直接传不就行了吗?什么意思,
 
FOXMAIL有这个功能
 
foxmail怎么用??
 
要不你把你的HTML文件代替邮件系统默认的页面上HTML
 
to dpfans:怎么代替?
 
这个我看过的,在Foxmail中直接把Html作为附件传递就可以了,不过要是想实现在邮件
中传递图像,要将图像文件进行Base64编码后的文本也放入邮件中,然后用Div标志引用
,所以你可以看到很多的邮件好像没有什么附件,但是它可以显示图像
 
gz
To lofa:
Base64编码是不是Indy控件中有这样的控件呢?
 
你直接用ie打开这个文件,然后用工具--邮件新闻---发送网页就可以了!

或者还有一个好像叫"金峰群发"的软件,可以直接发送网页!
 
看来你们没有使用过asp阿。找一本讲脚本的书看看就知道了。
可以直接在正文中写html的,只要设置邮件的格式为html的就可以。
 
to crazycock
是啊,那个控件就可以,其他的地方也有,你要吗?我有Java和VB的
Base64编码
 
HTML文件作为邮件的正文发送出去?
不就是将Html另存为txt文件就可以了,下面是利用word将Html另存为txt文件
procedure TForm1.HtmToTxt(FileName: string);
var
Ole1, ole2, ole3, ole4: OleVariant;
WordDocument1: TWordDocument;
WordApplication1: TWordApplication;
begin
try
WordApplication1 := TWordApplication.Create(Application);
WordDocument1 := TWordDocument.Create(Application);
Wordapplication1.Connect;
except
MessageDlg('Word 没有安装!!', mtInformation, [mbOk], 0)
Abort;
end;
try
ole1 := FileName;
ole2 := wdOpenFormatAuto;
WordDocument.ConnectTo(Wordapplication1.Documents.Open(Ole1, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, Ole2, EmptyParam, EmptyParam));
ole3 := 'temp.txt';
ole4 := wdFormatText;
WordDocument1.SaveAs(ole3, ole4);
finally
WordApplication1.Disconnect;
WordApplication1.Quit;
WordDocument1.Free;
WordApplication1.Free;
end;
end;
 
用indy的Tidmessage,Tidsmtp即可.
1.以html格式写正文TStrings.如:
Memo1.Lines.Add('<html>'
Memo1.Lines.Add('<head>');
Memo1.Lines.Add('<title>Untitled Document</title>');
Memo1.Lines.Add('<meta http-equiv="Content-Type" content="text/html
charset=gb2312">');
Memo1.Lines.Add('</head>'
...
记住: Content-Type一定要text/html.
2.IdMessage1.Clear;
IdMessage1.Body.Assign(Memo1.Lines).
3. TIdText.Create(IdMessage1.MessageParts,Memo1.Lines);
i:=IdMessage1.MessageParts.Count-1;
TIdText(IdMessage1.MessageParts.Items).ContentType:='text/html;charset=gb2312';
TIdText(IdMessage1.MessageParts.Items).ContentTransfer:='8bit';

4. IdMessage1.Recipients.EMailAddresses :=接收地址;
IdMessage1.From.Address:=发送地址;
//
IdSMTP1.Host:=smtp.163.net;
IdSMTP1.Port:=25;
IdSMTP1.UserId:=你的邮箱用户名(如yyy@163.net,写yyy即可);
IdSMTP1.Password:=你的邮箱口令;
IdSMTP1.Authenticationtype:=atLogin;(是否需要验证,现在一般的都要)
IdSMTP1.Connect;
try
IdSMTP1.Send(IdMessage1);
finally
IdSMTP1.Disconnect;
end;
5.ok.不行??Call me: okmy@163.net or okmy@sohu.com
 
多人接受答案了。
 
后退
顶部