通过ASP.NET项目发送电子邮件时出错 [英] Error in sending email via ASP.NET project

查看:73
本文介绍了通过ASP.NET项目发送电子邮件时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好



我想在我的asp.net项目中向用户发送电子邮件,但我在运行时收到此错误:



SMTP服务器需要安全连接或客户端未经过身份验证。

服务器响应如下:5.7.1需要验证



我尝试过:



电子邮件课程:

  public   void  SendEmailMethod( string  ToEmail, string  EmailSubject, string  EmailBody)
{
EncryptData _EncryptData = new EncryptData();
SmartLeavesDataContext db = new SmartLeavesDataContext();
var _SiteSettings = db.SiteSettings.SingleOrDefault();
string _Password = _EncryptData.Decrypt(_SiteSettings.EmailPassword);
string _Email = _SiteSettings.EMail;

string smtpAddress = smtp.mail.yahoo.com;
int smtpPort = 587 ;

string EmailFrom = _Email;
string 密码= _Password;


MailMessage Mail = new MailMessage();
Mail.From = new MailAddress(EmailFrom);
Mail.To.Add(ToEmail);
Mail.Subject = EmailSubject;
Mail.Body = EmailBody;
Mail.IsBodyHtml = true ;

SmtpClient smtpObject = new SmtpClient(smtpAddress,smtpPort);
smtpObject.Credentials = new NetworkCredential(EmailFrom,Password);
smtpObject.EnableSsl = true ;
smtpObject.Send(Mail);
}

解决方案

继续评论,587是Yahoo Mail的正确端口,SMTP 25的默认TCP端口也可以工作,这是标准的,而不是雅虎特定的。



问题在于您的用户名/密码组合,您需要检查它们以确保它们是正确的。 通过.NET框架发送电子邮件,以及一般问题 - 使用C#代码 [ ^ ],请考虑使用该帖子中的代码并输入详细信息(仅限SMTP服务器主机,用户名/密码组合)以查看是否有效。



Yahoo Mail的POP访问设置和说明Yahoo Help - SLN4724 [ ^ ]

Hello

I want to send user an email in my asp.net project, but I am receiving this error on run time:

The SMTP server requires a secure connection or the client was not authenticated.
The server response was: 5.7.1 Authentication required

What I have tried:

email class:

public void SendEmailMethod(string ToEmail, string EmailSubject, string EmailBody)
        {
            EncryptData _EncryptData = new EncryptData();
            SmartLeavesDataContext db = new SmartLeavesDataContext();
            var _SiteSettings = db.SiteSettings.SingleOrDefault();
            string _Password = _EncryptData.Decrypt(_SiteSettings.EmailPassword);
            string _Email = _SiteSettings.EMail;

            string smtpAddress = "smtp.mail.yahoo.com";
            int smtpPort = 587;

            string EmailFrom = _Email;
            string Password = _Password;


            MailMessage Mail = new MailMessage();
            Mail.From = new MailAddress(EmailFrom);
            Mail.To.Add(ToEmail);
            Mail.Subject = EmailSubject;
            Mail.Body = EmailBody;
            Mail.IsBodyHtml = true;

            SmtpClient smtpObject = new SmtpClient(smtpAddress, smtpPort);
            smtpObject.Credentials = new NetworkCredential(EmailFrom, Password);
            smtpObject.EnableSsl = true;
            smtpObject.Send(Mail);
        }

解决方案

Continuing from the comments, 587 is correct port for Yahoo Mail and default TCP port for SMTP 25 also works, that is standard based and not Yahoo specific.

The problem is with your username/password combination, you need to check them out to make sure they are correct. Sending emails over .NET framework, and general problems – using C# code[^], consider using the code from that post and enter the details (only SMTP server host, username/password combination) to see if that works.

POP access settings and instructions for Yahoo Mail | Yahoo Help - SLN4724[^]


这篇关于通过ASP.NET项目发送电子邮件时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆