从我的域本地发送电子邮件到域外的电子邮件

时间:2017-01-23 08:45:08

标签: c# iis smtp sendmail

我想检查本地发送电子邮件。我用这个代码

If DT.Rows.Count > 0 Then
            Dim TmpEmail As String = DT.Rows(0).Item("email").ToString

            Dim mail As New MailMessage()
            Dim SmtpClient As New SmtpClient("webmail.namespace.net")

            mail.From = New MailAddress("mymail@mynamespace.net")

            mail.[To].Add(TmpEmail)
            mail.Subject = " subject" & Subject_EmailType_Max10Char
            mail.IsBodyHtml = True
            mail.Body = BodyHtml

            SmtpClient.Port = 25

            SmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network
            SmtpClient.UseDefaultCredentials = False
            SmtpClient.Credentials = New System.Net.NetworkCredential("mymail@mynamespace.net", "########password")
            SmtpClient.EnableSsl = True
            SmtpClient.Timeout = 200000
            SmtpClient.Send(mail)

当我向网络的同一域发送电子邮件时,电子邮件成功发送,但当我向gmail发送电子邮件时,发送电子邮件时会出现错误MailBox unavailable. The server response was: 5.7.1 Unable to relay。当我从我的电子邮件(从outlook)发送到外部时域名没有问题。 我使用framework 4.5 visual studio 2012。 我谷歌搜索它并找到像configured SMTP server这样的解决方案,但我不想安装IIS6。我想在本地查看。有什么想法吗?

我还使用我的gmail作为mail.From和SmtpClient.Credentials设置我的Gmail和密码并设置SmtpClient.Port = 587Dim SmtpClient As New SmtpClient("smtp.gmail.com")并发送电子邮件到gmail帐户问题保持不变。错误是发送邮件失败。

1 个答案:

答案 0 :(得分:1)

我在question尝试了几个答案,我将密码更改了3次,所有密码都很强。最后它在第三次更改密码时工作。我应该提一下,它在我的本地主机上不起作用,但是当我在外部服务器(托管)中发布它时,它可以工作。