Foxtable(狐表)用户栏目专家坐堂 → 图片文件如何与文字一起成为邮件的正文?


  共有2312人关注过本帖树形打印复制链接

主题:图片文件如何与文字一起成为邮件的正文?

帅哥哟,离线,有人找我吗?
kylin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3034 积分:19208 威望:0 精华:2 注册:2008/9/1 7:50:00
图片文件如何与文字一起成为邮件的正文?  发帖心情 Post By:2016/7/31 16:57:00 [显示全部帖子]

示例:m.C (p) ontent = "测试邮件文本和图片的混合排版!" + GetImage("C:\Users\Desktop\花瓶\Dra1.jpg")
这个代码提示是错误的,大意是string类型与image类型不能相加,
问题的关键是解决图片文件转为string类型,请求大家帮个忙,谢谢先!

[此贴子已经被作者于2016/7/31 17:07:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3034 积分:19208 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2016/7/31 19:09:00 [显示全部帖子]

大红袍兄,出现这个问题是什么原因?
“发送失败:命令顺序不正确。服务器响应为:Error:need EHLO and AUTH first!”

代码直接借用您的例子:
Dim client As New System.Net.Mail.SmtpClient()
client.Host = "smtp.qq.com"
client.Credentials = New System.Net.NetworkCredential("451945556@qq.com", "****")     ‘是用实际密码,在论坛这里处理了一下
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
Dim message As New System.Net.Mail.MailMessage("451945556@qq.com", "kylinchina@163.com")
message.Subject = "图文邮件测试2"
message.BodyEncoding = System.Text.Encoding.UTF8
message.IsBodyHtml = True

Dim body As String = "<html><body>正文内容</body></html>"
Dim content As String

'处理图片
Dim bmp As new Bitmap("C:\Users\Gcell-Kylin\Desktop\花瓶\Dra1.jpg")

Dim ms As new System.Io.MemoryStream()
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)

Dim arr(ms.Length) As Byte
ms.Position = 0
ms.Read(arr, 0, ms.Length)
ms.Close()

Dim strbaser64 As String = Convert.ToBase64String(arr)

content &= "这是文字"
content &= "<DIV><IMG src='data:image/png;base64, " & strbaser64 & "'></IMG></DIV>"
content &= "也是文字"

message.Body = body.Replace("正文内容", content)

Try
    client.Send(message)
    msgbox("发送成功")
Catch ex As Exception
    msgbox("发送失败:" & ex.message)
End Try

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3034 积分:19208 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2016/7/31 19:22:00 [显示全部帖子]

这么用,也出现同样的错误:
Dim client As New System.Net.Mail.SmtpClient()
client.Host = "smtp.qq.com"
client.Credentials = New System.Net.NetworkCredential("451945556@qq.com", "*****") ‘是用实际密码,在论坛这里处理了一下
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
Dim message As New System.Net.Mail.MailMessage
message.From = new System.Net.Mail.MailAddress("451945556@qq.com")
message.To.Add("kylinchina@163.com")
message.Subject = "主题测试1"
message.BodyEncoding = System.Text.Encoding.UTF8
message.IsBodyHtml = True

Dim body As String = "<html><body>内容</body></html>"
Dim content As String = "12345678<font size=7 color=red>12345678</font><img src='http://www.foxtable.com/lib/images/banner1a.jpg'/>"

message.Body = body.Replace("内容", content)

Try
    client.Send(message)
    msgbox("发送成功")
Catch ex As Exception
    msgbox("发送失败:" & ex.message)
End Try

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3034 积分:19208 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2016/8/1 12:53:00 [显示全部帖子]

谢谢大红袍兄、Hyphen兄的指点,OK了!非常感谢!

 回到顶部