尝试使用VB.NET中的iMsg将HTML文件用作我的电子邮件正文
我已经写了一个脚本来创建一个基于SQL查询的HTML文件。。。。有必要通过电子邮件发送HTML。我们的大多数执行官都使用黑莓手机,我想将HTML文件作为正文发送。我找到了一种方法来完成这项工作,方法是添加一个WebBrowser,让web浏览器加载文件,然后使用下面的代码发送。我面临的问题是,如果我完全自动化代码,它将只发送HTML文档的一部分,现在如果我添加一个按钮,并使其执行电子邮件功能,它将正确发送。我在几个不同的位置添加了一个等待函数,我认为这可能是一个问题,因为在发送电子邮件之前HTML并没有完全创建。我必须让这个100%自动化。是否有一种方法可以使用.HTMLBody链接到存储在C上的实际HTML文件:(实际路径是C:\overflower.HTML)。谢谢大家的帮助 公共子电子邮件() 暗标准 作为对象的Dim iCfg 作为对象的Dim iMsg尝试使用VB.NET中的iMsg将HTML文件用作我的电子邮件正文,html,vb.net,html-email,Html,Vb.net,Html Email,我已经写了一个脚本来创建一个基于SQL查询的HTML文件。。。。有必要通过电子邮件发送HTML。我们的大多数执行官都使用黑莓手机,我想将HTML文件作为正文发送。我找到了一种方法来完成这项工作,方法是添加一个WebBrowser,让web浏览器加载文件,然后使用下面的代码发送。我面临的问题是,如果我完全自动化代码,它将只发送HTML文档的一部分,现在如果我添加一个按钮,并使其执行电子邮件功能,它将正确发送。我在几个不同的位置添加了一个等待函数,我认为这可能是一个问题,因为在发送电子邮件之前HTM
strdate = Date.Today.TimeOfDay
iCfg = CreateObject("CDO.Configuration")
iMsg = CreateObject("CDO.Message")
With iCfg.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxxx.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendemailaddress") = """Turnover Report"" <TurnoverReports@xxxxx.com>"
.Update()
End With
With iMsg
.Configuration = iCfg
.Subject = "Turnover Report"
.To = "xxxxx@xxxxx.com"
'.Cc = ""
.HTMLBody = WebBrowserReportView.DocumentText
.Send()
End With
iMsg = Nothing
iCfg = Nothing
End Sub
strdate=Date.Today.TimeOfDay
iCfg=CreateObject(“CDO.Configuration”)
iMsg=CreateObject(“CDO.Message”)
使用iCfg.Fields
.项目(”http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
.项目(”http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.项目(”http://schemas.microsoft.com/cdo/configuration/smtpserver“”=“xxxxx.com”
.项目(”http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.项目(”http://schemas.microsoft.com/cdo/configuration/sendemailaddress“”“”“”“营业额报告”
.Update()
以
与iMsg
.Configuration=iCfg
.Subject=“营业额报告”
.To=”xxxxx@xxxxx.com"
'.Cc=“”
.HTMLBody=WebBrowserReportView.DocumentText
.Send()
以
iMsg=无
iCfg=无
端接头
使用以下函数读取本地html文件。然后设置
TextBox2.Text=getHTML(“C:\turover2.html”)
而且
.HTMLBody=TextBox2.Text
Private Function getHTML(ByVal address As String) As String
Dim rt As String = ""
Dim wRequest As WebRequest
Dim wResponse As WebResponse
Dim SR As StreamReader
wrequest = WebRequest.Create(address)
wResponse = wrequest.GetResponse
SR = New StreamReader(wResponse.GetResponseStream)
rt = SR.ReadToEnd
SR.Close()
Return rt
End Function
使用以下函数读取本地html文件。然后设置
TextBox2.Text=getHTML(“C:\turover2.html”)
而且
.HTMLBody=TextBox2.Text
Private Function getHTML(ByVal address As String) As String
Dim rt As String = ""
Dim wRequest As WebRequest
Dim wResponse As WebResponse
Dim SR As StreamReader
wrequest = WebRequest.Create(address)
wResponse = wrequest.GetResponse
SR = New StreamReader(wResponse.GetResponseStream)
rt = SR.ReadToEnd
SR.Close()
Return rt
End Function
如果您已经拥有HTML,则在发送之前无需将其加载到WebBrowser控件中。只需将HTML文本作为邮件正文发送。但每次我希望它发送电子邮件时,它都会有所不同,它基本上是从轮班的角度显示任务,即1、2和3,因此HTML文件每次都不同,这就是我希望它发送文件的原因。只需将HTML文件读入字符串(无需显示)并使用该字符串填充
.HTMLBody
。还是我误解了HTML文件在显示报告时是通过javascript创建的?(我知道是报告软件创建了HTML)我应该说我在这方面很新。哈哈。听起来很有效,让我看看我能不能想出办法。如果你知道怎么做,请随时给我答案。我也会开始寻找我自己。如果你已经有了HTML,在发送之前没有必要将它加载到WebBrowser控件中。只需将HTML文本作为邮件正文发送。但每次我希望它发送电子邮件时,它都会有所不同,它基本上是从轮班的角度显示任务,即1、2和3,因此HTML文件每次都不同,这就是我希望它发送文件的原因。只需将HTML文件读入字符串(无需显示)并使用该字符串填充.HTMLBody
。还是我误解了HTML文件在显示报告时是通过javascript创建的?(我知道是报告软件创建了HTML)我应该说我在这方面很新。哈哈。听起来很有效,让我看看我能不能想出办法。如果你知道怎么做,请随时给我答案。我也会开始寻找我自己。