【问题标题】:error when sending email from asp.net contact page从 asp.net 联系页面发送电子邮件时出错
【发布时间】:2014-07-26 15:00:15
【问题描述】:

我正在尝试从我的联系页面发送电子邮件,但我一直收到错误消息

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

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 没有访问 PickupDirectory 的权限。你见过this answer吗?

标签: asp.net vb.net visual-studio email iis


【解决方案1】:

您是否配置了 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()

你需要导入Imports system.net.mail

【讨论】:

    【解决方案2】:

    这对我有用!从本地主机到 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
    

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多