请教用Winsock控件发送电子邮件附件的原理

jessezappy 2003-01-28 03:40:03
请教用Winsock控件发送电子邮件附件的原理
...全文
135 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jessezappy 2003-03-05
  • 打赏
  • 举报
回复
一个月没人回复。。:(
结题啦。。。。
jessezappy 2003-01-29
  • 打赏
  • 举报
回复
这个问题我通过分析 Foxmail的邮件结构已经有了一个完整的解决方法了。。谢谢大家。。还有好意见的就再讨论一下。。祝大家春节快乐!!!。。这个问题过了春节再来结题///
以下是我自己开发的解决代码。。。

Dim i As Integer, Drogan As String, TmpStrS As String
Dim nFno1 As Integer, nFno2 As Integer
Drogan = "=====_Dragon" + Date$ + "_=====" '不知道为什么Foxmail的是=====_Dragon 没时间研究了。。就照他的方便了。。
For i = 1 To 3
Encade64FileTOFile App.Path + "\" + "HlyDY" + Trim(Str(i)) + ".tmp", App.Path + "\" + "HlyDY" + Trim(Str(i)) + ".txt" '将附件文件编码。。Base64 ..
Next i
'===============--------------制作Email=-----
nFno1 = FreeFile
Open App.Path + "\" + "email.bin" For Output As #nFno1 '生成原始Email文件。。
Print #nFno1, "From: ***@163.com"
Print #nFno1, "Reply-To: ***@163.com"
Print #nFno1, "To: ***@163.com" '隐去地址。。:)。。怕被黑。。赫赫。。
Print #nFno1, "Subject: " + Date$ + "_report"
Print #nFno1, "Mime-Version: 1.0"
Print #nFno1, "Content-Type: multipart/mixed; boundary=" + Chr(34) + Drogan + Chr(34)
Print #nFno1, ""
Print #nFno1, "This is a multi-part message in MIME format."
Print #nFno1, ""
Print #nFno1, "--" + Drogan
Print #nFno1, "Content-Type: text/plain; charset=" + Chr(34) + "GB2312" + Chr(34)
Print #nFno1, "Content-Transfer-Encoding: quoted-printable"
Print #nFno1, ""
Print #nFno1, "yxaamc_report_" + Date$ '邮件正文。。
Print #nFno1, ""
'-----------------加附件-------===
nFno2 = FreeFile
For i = 1 To 3
Print #nFno1, "--" + Drogan
Print #nFno1, "Content-Type: application/octet-stream; name=" + Chr(34) + "HlyDY" + Trim(Str(i)) + ".tmp" + Chr(34)
Print #nFno1, "Content-Transfer-Encoding: base64"
Print #nFno1, "Content-Disposition: attachment; filename=" + Chr(34) + "HlyDY" + Trim(Str(i)) + ".tmp" + Chr(34)
Print #nFno1, ""
'-------------插入附件内容
Open App.Path + "\" + "HlyDY" + Trim(Str(i)) + ".txt" For Input As #nFno2
Do While Not EOF(nFno2)
Line Input #nFno2, TmpStrS
Print #nFno1, TmpStrS
Loop
Close #nFno2
'---------======over
Print #nFno1, ""
Next i
Print #nFno1, "--" + Drogan
Close #nFno1


'由于急着回家过年。。所以草草遍了这些,放在我的全自动值班程序里面,每天定时
发送值班数据到我的邮箱里面,这样我就可以回家上班了。。看看手机上的邮件通知就好了。。赫赫。。我真懒啊。。
jessezappy 2003-01-28
  • 打赏
  • 举报
回复
Foxmail这个倒是好办法。。。。我正在试。。。。
griefforyou 2003-01-28
  • 打赏
  • 举报
回复
看看RFC文档。。。
不过全英文

要不就用FoxMail建一个邮件,然后查看其原始信息
jessezappy 2003-01-28
  • 打赏
  • 举报
回复
我不喜欢 .NET..
jessezappy 2003-01-28
  • 打赏
  • 举报
回复
发邮件我会发的。。
只是文件形式的附件怎么发送???
lth_81 2003-01-28
  • 打赏
  • 举报
回复
比较简单,首先你要了解ESMTP和POP3,这两个是最基本的收发邮件的协议。
建议去Google搜以下,很多这样的程序
www.applevb.com上也有的啊。
qffhq 2003-01-28
  • 打赏
  • 举报
回复
up
e8007 2003-01-28
  • 打赏
  • 举报
回复
参考:
http://www.microsoft.com/china/community/article.asp?oBODY=TechZone/TechArticle/TechDoc/sendmail&oXSLT=TechZone/TechArticle/TechContent

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧