以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  图片文件如何与文字一起成为邮件的正文?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88315)

--  作者:kylin
--  发布时间: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编辑过]

--  作者:大红袍
--  发布时间:2016/7/31 18:35:00
--  

 参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=84781&skin=0

 


--  作者:kylin
--  发布时间: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
--  发布时间: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

--  作者:Hyphen
--  发布时间:2016/8/1 8:33:00
--  
qq邮箱是不是启用了专用密码,要用那个专用密码登录
--  作者:大红袍
--  发布时间:2016/8/1 9:36:00
--  

提示这个错 need EHLO and AUTH first

 

是因为你的密码错误。

 

1、你QQ邮箱要开通 pop、smtp协议;

 

2、你QQ邮箱,需要设置独立密码;

 

3、你QQ邮箱如果用到了授权码,密码就用那个。


--  作者:kylin
--  发布时间:2016/8/1 12:53:00
--  
谢谢大红袍兄、Hyphen兄的指点,OK了!非常感谢!