我在服务器中部署了一个用于发送电子邮件的Web服务,这是它的代码。
<WebMethod()> _
Public Function SendEmailSMTPAtt(ByVal objMail As clsEmail) As String
Dim strReturn As String = ""
Dim mailMsg As New MailMessage
With mailMsg
.From = objMail.Mailfrom
.To = objMail.MailTo
If objMail.Mailcc <> "" Then
.Cc = objMail.Mailcc
End If
If objMail.MailBcc <> "" Then
.Bcc = objMail.MailBcc
End If
.Subject = objMail.MailSubject
Dim sHtml As String
sHtml = "<HTML>" & _
"<HEAD>" & _
"<TITLE>E-Mail alert </TITLE>" & _
"</HEAD>" & _
"<BODY><P>" & _
"<Font Color=Green>" & objMail.MailBodyText & "</Font>" & _
"</BODY>" & _
"</HTML>"
.Body = sHtml
.BodyFormat = MailFormat.Html
Dim attachment1 As New MailAttachment(objMail.strPath) 'objMail.strPath is comming from local machine program Eg: "F:\TestFolder\abc.txt"
.Attachments.Add(attachment1) 'add the attachment
End With
SmtpMail.SmtpServer = EmailService.My.Settings.SMTP_SERVER
SmtpMail.Send(mailMsg)
Return strReturn
End Function
除附件外,此服务工作正常。当通过我的本地机器程序发送附件路径时,它会抛出错误“服务器无法处理请求.---&gt;无效的邮件附件'C:\ Users *******'”。由于Web服务在服务器中找到该路径,因此发生此错误。但实际上路径在服务器中不存在,因为它是本地机器路径。
那么如何通过电子邮件发送本地机器附件?
我只是通过互联网查看。但是大多数解决方案都包含一个程序中的所有代码。 (发送电子邮件服务部分和客户端部分)但我的问题是服务器中的电子邮件服务主机,我从本地计算机调用该方法。