【问题标题】:contents of a text file to email body vb.net文本文件的内容到电子邮件正文 vb.net
【发布时间】:2014-07-13 14:14:32
【问题描述】:

我想复制文本文件的所有内容并将其粘贴到电子邮件正文中。我使用了下面的代码,但正文不包含任何内容。有人可以帮我解决这个问题吗?

    Dim lines As List(Of String) = File.ReadAllLines("C:\sendD.txt").ToList
    Dim sender As String = "sender@yahoo.com"
    Dim recipient As String = "receiver@yahoo.com"
    Dim emailSubject = "Test!"
    Dim oMail As New SmtpMail("TryIt")
    Dim oSmtp As New SmtpClient()

    oMail.From = sender
    oMail.To = recipient
    oMail.Subject = emailSubject
    For Each line In lines
        oMail.TextBody = line
    Next

【问题讨论】:

  • 您将一行的内容分配给oMail.TextBody,而不是附加它。改用oMail.TextBody = oMail.TextBody & line

标签: vb.net email


【解决方案1】:
Using inputReader As New IO.StreamReader("C:\sendD.txt")
    oMail.Body = inputReader.ReadToEnd
End Using

For Each line In lines
    oMail.Body = oMail.Body & VbCrLf & line
Next

或者使用StringBuilder,但这一切都对iList 的需要提出了质疑。 StreamReader 不需要。

或者,使用您的示例(删除 For Each 循环):

Dim lines As String = File.ReadAllText("C:\sendD.txt")
oMail.Body = lines

另外,您应该使用 System.Net.Mail,而不是 .Web.Mail

见:http://msdn.microsoft.com/en-us/library/system.web.mail.smtpmail%28v=vs.110%29.aspx

和:http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient%28v=vs.110%29.aspx

另外,我找不到这个 '.TextBody' 属性,我想你的意思是 .Body

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多