使用system.web.mail.SMTPmail发送邮件,处理smtp验证问题

来源:互联网 发布:软件属于什么资产 编辑:程序博客网 时间:2024/05/02 19:44

无法对smtpserver进行设置,要对mailmessage进行设置。

http://systemwebmail.com/faq/3.8.aspx

Private Sub Page_Load(sender As Object, e As System.EventArgs)
   Dim mail As New MailMessage()
   mail.To = "me@mycompany.com"
   mail.From = "you@yourcompany.com"
   mail.Subject = "this is a test email."
   mail.Body = "Some text goes here"
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1") 'basic authentication
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here") 'set your username here
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret") 'set your password here
   SmtpMail.SmtpServer = "mail.mycompany.com" 'your real server goes here
   SmtpMail.Send(mail)
End Sub 'Page_Load

我的代码:

Imports System
Imports System.Web.mail

Namespace SendMail

    Public Class usage
        Public Sub DisplayUsage()
            ' Display usage instructions in case of error.
            Console.WriteLine("Usage SendMail.exe <to> <from> <subject> <body>")
            Console.WriteLine("<to> the addresses of the email recipients")
            Console.WriteLine("<from> your email address")
            Console.WriteLine("<subject> subject of your email")
            Console.WriteLine("<body> the text of the email")
            Console.WriteLine("Example:")
            Console.WriteLine("SendMail.exe SomeOne@contoso.com;SomeOther@contoso.com Me@contoso.com Hi hello")
        End Sub
    End Class

    Public Class Start
        '  The main entry point for the application.
        Public Shared Sub Main(ByVal sTo As String, ByVal sFrom As String, ByVal sSub As String, ByVal sBody As String)
            Try
                Try
                    Dim Message As System.Web.Mail.MailMessage = New System.Web.Mail.MailMessage
                    Message.To = sTo
                    Message.From = sFrom
                    Message.Subject = sSub
                    Message.Body = sBody

                    Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
                    Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "jetz")
                    Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "***")


                    Try
                        SmtpMail.SmtpServer = "smtp.263.net"
                        SmtpMail.Send(Message)
                    Catch ehttp As System.Web.HttpException
                        Console.WriteLine("0", ehttp.Message)
                        Console.WriteLine("Here is the full error message")
                        Console.Write("0", ehttp.ToString())
                    End Try
                Catch e As IndexOutOfRangeException
                    ' Display usage instructions if error in arguments.
                    Dim use As usage = New usage
                    use.DisplayUsage()
                End Try
            Catch e As System.Exception
                ' Display text of unknown error.
                Console.WriteLine("Unknown Exception occurred 0", e.Message)
                Console.WriteLine("Here is the Full Error Message")
                Console.WriteLine("0", e.ToString())
            End Try
        End Sub
    End Class

End Namespace
Module Module1
    Sub Main()
        'Dim k As New SendMail.usage
        'k.DisplayUsage()
        Dim m As New SendMail.Start
        m.Main("jetzwmx@126.com", "jetz@263.net", "hi", "hello")
        Console.ReadLine()
    End Sub
End Module