电子邮件附件与VB.net中的Web服务

时间:2015-07-07 06:35:21

标签: vb.net web-services email-attachments

我在服务器中部署了一个用于发送电子邮件的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服务在服务器中找到该路径,因此发生此错误。但实际上路径在服务器中不存在,因为它是本地机器路径。

那么如何通过电子邮件发送本地机器附件?

我只是通过互联网查看。但是大多数解决方案都包含一个程序中的所有代码。 (发送电子邮件服务部分和客户端部分)但我的问题是服务器中的电子邮件服务主机,我从本地计算机调用该方法。

0 个答案:

没有答案