从asp.net联系人页发送电子邮件时出错

从asp.net联系人页发送电子邮件时出错,asp.net,vb.net,visual-studio,email,iis,Asp.net,Vb.net,Visual Studio,Email,Iis,我试图从我的联系人页面发送电子邮件,但我一直收到一个错误 我已经在下面粘贴了我的代码以及出现的错误消息 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click ' Dim SendPw As New System.Net.Mail.MailMessage Dim Smtp As New System.Net.Mail.Sm

我试图从我的联系人页面发送电子邮件,但我一直收到一个错误

我已经在下面粘贴了我的代码以及出现的错误消息

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    '

    Dim SendPw As New System.Net.Mail.MailMessage
    Dim Smtp As New System.Net.Mail.SmtpClient()


    SendPw.To.Add(email.Text)
    SendPw.From = New System.Net.Mail.MailAddress("shumbasoft@gmail.com")
    SendPw.Subject = "Password for you"
    SendPw.Priority = Net.Mail.MailPriority.High
    SendPw.Body = "This your new password: "
    SendPw.IsBodyHtml = False
    Smtp.Host = "smtp.gmail.com"
    Smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis
    Smtp.Send(SendPw)
End Sub

您配置了IIS吗?或者尝试一下这段代码,它给了我很好的结果:

Dim msgMail As New MailMessage()
Dim myMessage As New MailMessage()
myMessage.From = New MailAddress("sender's email", "sender`s name and surname")
myMessage.[To].Add("recipient's email")
myMessage.Subject = "Subject"
myMessage.IsBodyHtml = True

myMessage.Body = "Message Body"


Dim mySmtpClient As New SmtpClient()
Dim myCredential As New System.Net.NetworkCredential("email", "password")
mySmtpClient.Host = "your smtp host address"
mySmtpClient.UseDefaultCredentials = False
mySmtpClient.Credentials = myCredential
mySmtpClient.ServicePoint.MaxIdleTime = 1

mySmtpClient.Send(myMessage)
myMessage.Dispose()

你需要导入导入系统.net.mail

这对我来说很有用!!从本地主机到gmail

 Dim Body As String = "From: " + fname.Text + " " + lname.Text + Environment.NewLine +              "Email:  " + email.Text + Environment.NewLine + Environment.NewLine + "Message" + Environment.NewLine + txtComment.Text


    Dim xx As New System.Net.Mail.SmtpClient
    xx.EnableSsl = True
    xx.Host = "smtp.gmail.com"
    Dim cred As New System.Net.NetworkCredential("example@gmail.com", "examplepassword")
    xx.Credentials = cred
    xx.Send(email.Text, "sendexample@gmail.com ", subject.Text, Body)
    ClearFields()
    lblEmail.ForeColor = Drawing.Color.Green
    lblEmail.Text = "message sent"
    lblEmail.Visible = True

IIS可能没有访问PickupDirectory的权限。你看到了吗?