本代码完整可运行,请注意:
发送帐户的信息存储在web.config中,发送的图片要作为资源嵌入到编译程序中(这一点的设置在VS的图片属性中修改为嵌入的资源)。如果分享的代码对你有用,可以考虑馈赠CSDN分值(可开贴并在此留言,以便收取)。呵呵,创新的积分思路,仅为尝试,谢谢光临
 Public Shared Function SendEmail(ByVal MailTo As String, ByVal MailBCC As String, ByVal MailTitle As String, ByVal Content As String) As Boolean        Dim BaseText As String = DataProvider.MailDoc
        BaseText = BaseText.Replace("$content$", Content).Replace("$time$", Now.ToString)
        ' BaseText = Encoding.utf8.GetString(Encoding.utf8.GetBytes(BaseText))
        Try
            Dim MailSetting As SmtpSection = DirectCast(ConfigurationManager.GetSection("system.net/mailSettings/smtp"), SmtpSection)            Dim sFrom, sHost, sUser, sPass As String, sPort As Integer
            sFrom = MailSetting.From
            sHost = MailSetting.Network.Host
            sPort = MailSetting.Network.Port
            sUser = MailSetting.Network.UserName
            sPass = MailSetting.Network.Password
            Dim mFrom As New MailAddress(sFrom, sValue.AppName, Encoding.UTF8)            Dim mMessage As New MailMessage
            mMessage.From = mFrom
            If MailTo <> "" Then
                mMessage.To.Add(MailTo)
            Else
                mMessage.To.Add(New MailAddress(sFrom, sValue.AppName & "指定用户群", Encoding.UTF8))
            End If
            If MailBCC <> "" Then
                mMessage.Bcc.Add(MailBCC)
            End If
            mMessage.BodyEncoding = Encoding.UTF8
            mMessage.SubjectEncoding = Encoding.UTF8
            mMessage.IsBodyHtml = True
            mMessage.Subject = MailTitle            Dim View As AlternateView
            Dim Resource As LinkedResource
            View = AlternateView.CreateAlternateViewFromString(BaseText, Encoding.UTF8, "text/html")
            Resource = New LinkedResource(DataProvider.sLogo, "image/gif")
            Resource.ContentId = "logo.gif"
            View.LinkedResources.Add(Resource)
            Resource = New LinkedResource(DataProvider.sBackground, "image/gif")
            Resource.ContentId = "bg.gif"
            View.LinkedResources.Add(Resource)
            mMessage.AlternateViews.Add(View)
            Dim MyClient As New SmtpClient(sHost, sPort)
            'MyClient.UseDefaultCredentials = False
            MyClient.Credentials = New NetworkCredential(sUser, sPass)
            'MyClient.EnableSsl = True
            MyClient.Send(mMessage)
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

解决方案 »

  1.   

    忘了说了,发送的模板也是作为嵌入的资源的html文件本人太穷,欢迎送分,呜呜
      

  2.   


    public static bool SendEmail(string MailTo, string MailBCC, string MailTitle, string Content) 

        
        string BaseText = DataProvider.MailDoc; 
        BaseText = BaseText.Replace("$content$", Content).Replace("$time$", Now.ToString); 
        // BaseText = Encoding.utf8.GetString(Encoding.utf8.GetBytes(BaseText)) 
        try { 
            SmtpSection MailSetting = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp"); 
            
            string sFrom; 
            string sHost; 
            string sUser; 
            string sPass; 
            int sPort; 
            sFrom = MailSetting.From; 
            sHost = MailSetting.Network.Host; 
            sPort = MailSetting.Network.Port; 
            sUser = MailSetting.Network.UserName; 
            sPass = MailSetting.Network.Password; 
            
            
            MailAddress mFrom = new MailAddress(sFrom, sValue.AppName, Encoding.UTF8); 
            
            MailMessage mMessage = new MailMessage(); 
            mMessage.From = mFrom; 
            if (MailTo != "") { 
                mMessage.To.Add(MailTo); 
            } 
            else { 
                mMessage.To.Add(new MailAddress(sFrom, "ohr.cn 指定用户群", Encoding.UTF8)); 
            } 
            if (MailBCC != "") { 
                mMessage.Bcc.Add(MailBCC); 
            } 
            mMessage.BodyEncoding = Encoding.UTF8; 
            mMessage.SubjectEncoding = Encoding.UTF8; 
            mMessage.IsBodyHtml = true; 
            mMessage.Subject = MailTitle; 
            
            
            //Dim AllowedType As String() = {"image/gif", "image/pjpeg", "image/bmp", "image/x-png"} 
            AlternateView View; 
            LinkedResource Resource; 
            View = AlternateView.CreateAlternateViewFromString(BaseText, Encoding.UTF8, "text/html"); 
            Resource = new LinkedResource(DataProvider.sLogo, "image/gif"); 
            Resource.ContentId = "logo.gif"; 
            View.LinkedResources.Add(Resource); 
            Resource = new LinkedResource(DataProvider.sBackground, "image/gif"); 
            Resource.ContentId = "bg.gif"; 
            View.LinkedResources.Add(Resource); 
            mMessage.AlternateViews.Add(View); 
            
            
            SmtpClient MyClient = new SmtpClient(sHost, sPort); 
            //MyClient.UseDefaultCredentials = False 
            MyClient.Credentials = new NetworkCredential(sUser, sPass); 
            //MyClient.EnableSsl = True 
            MyClient.Send(mMessage); 
            return true; 
        } 
        catch (Exception ex) { 
            return false; 
        } 

      

  3.   

    Resource = new LinkedResource(DataProvider.sLogo, "image/gif"); 
    这段代码中,DataProvider.sLogo是什么意思