哪位还在利用免费的SMTP服务器用.net发信,好像gmail、网易、QQ都禁止使用SMTP了,怎么办啊

时间:2022-12-29 18:24:10
去年以前我用gmail免费的SMTP和C#发信都正常,现在都不行了。注册收费的邮箱又显得太浪费,免费的SMTP又没有,谁有办法解决。

8 个解决方案

#1


刚试了一下QQ,可以发送啊?
下我这个源码试试。 http://download.csdn.net/detail/guwei4037/5869019

#2


代码有问题吧?Gamil说不准,但是国内的几个应该都是可以的

#3


引用 2 楼 andywangguanxi 的回复:
代码有问题吧?Gamil说不准,但是国内的几个应该都是可以的


您看我的代码错在哪里了:

        /// <summary>
        /// 邮件初始化
        /// </summary>
        /// <returns></returns>
        public MailMessage InitMail(string Address)
        {
            MailMessage mail = new MailMessage();
            //发件人
            mail.From = new MailAddress(Address);
            //收件人
            mail.To.Add(new MailAddress(Address));
            //主题
            mail.Subject = "ASP.NET send mail testing!";
            //内容
            mail.Body = "Welcome to join us,let me instruduce myself!";
            //邮件主题和正文编码格式
            mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            //邮件正文是Html编码
            mail.IsBodyHtml = true;
            //优先级
            mail.Priority = MailPriority.High;
            //密件抄送收件人
            mail.Bcc.Add(Address);
            //抄送收件人
            mail.CC.Add(Address);

            ////添加附件
            //mail.Attachments.Add(new Attachment("d:\\1.txt"));
            //mail.Attachments.Add(new Attachment("d:\\2.txt"));
            //mail.Attachments.Add(new Attachment("d:\\3.txt"));

            return mail;
        }
        
        /// <summary>
        /// 发送Gmail
        /// </summary>
        public bool SendGmail()
        {
            SmtpClient client = new SmtpClient();
            client.Credentials = new System.Net.NetworkCredential("maxin190@gmail.com", "19561956");
            //client.Port = 465;//Gmail使用的端口
            client.Port = 587;//Gmail使用的端口
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;//经过ssl加密

            try
            {
                client.Send(InitMail("maxin190@gmail.com"));
                return true;
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                return false;
            }
        }
        

#4


你的gmail账户里面有没有开启相关服务?
参考:  使用 POP 或 IMAP 发送邮件时的问题
另外,不要泄露自己的账号密码,记得赶紧改了。

#5


gmail主要是被和谐了。
163 qq都没问题。

#6


自己去打开smtp 就行了。

#7


#8


你先看下是不是本地防火墙拦截了,才发不成功

#1


刚试了一下QQ,可以发送啊?
下我这个源码试试。 http://download.csdn.net/detail/guwei4037/5869019

#2


代码有问题吧?Gamil说不准,但是国内的几个应该都是可以的

#3


引用 2 楼 andywangguanxi 的回复:
代码有问题吧?Gamil说不准,但是国内的几个应该都是可以的


您看我的代码错在哪里了:

        /// <summary>
        /// 邮件初始化
        /// </summary>
        /// <returns></returns>
        public MailMessage InitMail(string Address)
        {
            MailMessage mail = new MailMessage();
            //发件人
            mail.From = new MailAddress(Address);
            //收件人
            mail.To.Add(new MailAddress(Address));
            //主题
            mail.Subject = "ASP.NET send mail testing!";
            //内容
            mail.Body = "Welcome to join us,let me instruduce myself!";
            //邮件主题和正文编码格式
            mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            //邮件正文是Html编码
            mail.IsBodyHtml = true;
            //优先级
            mail.Priority = MailPriority.High;
            //密件抄送收件人
            mail.Bcc.Add(Address);
            //抄送收件人
            mail.CC.Add(Address);

            ////添加附件
            //mail.Attachments.Add(new Attachment("d:\\1.txt"));
            //mail.Attachments.Add(new Attachment("d:\\2.txt"));
            //mail.Attachments.Add(new Attachment("d:\\3.txt"));

            return mail;
        }
        
        /// <summary>
        /// 发送Gmail
        /// </summary>
        public bool SendGmail()
        {
            SmtpClient client = new SmtpClient();
            client.Credentials = new System.Net.NetworkCredential("maxin190@gmail.com", "19561956");
            //client.Port = 465;//Gmail使用的端口
            client.Port = 587;//Gmail使用的端口
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;//经过ssl加密

            try
            {
                client.Send(InitMail("maxin190@gmail.com"));
                return true;
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                return false;
            }
        }
        

#4


你的gmail账户里面有没有开启相关服务?
参考:  使用 POP 或 IMAP 发送邮件时的问题
另外,不要泄露自己的账号密码,记得赶紧改了。

#5


gmail主要是被和谐了。
163 qq都没问题。

#6


自己去打开smtp 就行了。

#7


#8


你先看下是不是本地防火墙拦截了,才发不成功