C# 从我的域本地发送电子邮件到域外的电子邮件
我想检查一下是否在本地发送电子邮件。我使用这个代码C# 从我的域本地发送电子邮件到域外的电子邮件,c#,iis,smtp,sendmail,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")
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发送电子邮件时,错误邮箱不可用。服务器响应为:5.7.1发送电子邮件时将显示无法中继。当我从outlook向域外发送电子邮件时,没有问题。
我使用的是Framework4.5VisualStudio2012。
我在谷歌上搜索它,并找到类似的解决方案,但我不想安装IIS6。我想在本地查一下。有什么想法吗
我还将我的gmail用作mail.From和for SmtpClient。凭据设置我的gmail和密码,并将SmtpClient.Port=587和Dim SmtpClient设置为新的SmtpClientsmtp.gmail.com,并将电子邮件发送到gmail帐户。问题仍然存在。错误是发送邮件失败。我在中尝试了多个答案,并更改了密码3次,全部失败他们很强壮。最后,它在第三次更改密码时起作用。我应该提到,它在本地主机上不起作用,但在外部服务器主机上发布时起作用。这是一种服务器配置,webmail.comsec.gov.iq的管理员应该启用中继发送。您无法在c代码中启用it客户端。@bradbury9但当我从outlook向域外发送电子邮件时没有问题。管理员说中继发送已启用。我迄今为止的经验表明,如果:a您未通过电子邮件服务器的身份验证,中继消息可能会引发。大多数服务器只允许中继到正确的经过身份验证的请求。a电子邮件服务器不允许中继。@bradbury9我使用我的gmail作为邮件。发件人和发件人为SmtpClient。凭据设置我的gmail和密码,并将SmtpClient.Port=587和Dim SmtpClient设置为新的SmtpClientsmtp.gmail.com,然后将电子邮件发送到gmail帐户。问题仍然存在。错误是发送邮件失败。.gmail不使用端口25。。。检查此答案以了解实际的Gmail SMTP参数和示例代码