C#中利用SMTP邮件服务器发送邮件

SMTP邮件服务器发送邮件(C#)


今天从网上学习C#发送邮件可是用QQ邮箱时就是不行,后来换成Sina邮箱就可以了

然后发现QQ stmp的端口有465和587两个,


个人测试后发现只有587端口可行,现将实现的方法记录如下

首先定义发送的用户类

 class EmailUser
    {
        //发件人地址
        public string Address { get; set; }

        //显示名称
        public string DisplayName { get; set; }

        //收件人地址
        public string EmailTo { get; set; }

        //邮件标题
        public string Subject { get; set; }

        //邮件内容 
        public string EmailBody { get; set; }

        //发件人姓名(邮箱名)
        public string UserName { get; set; }

        //发件人密码(邮箱密码)
        public string Password { get; set; } 
    }

两种发送的方式如下:

1.QQ:


class Send
    {
        private static int emailPort = 587;
        private static string emailHost = "smtp.qq.com"; 
        public string SendEmail(EmailUser emailObj)
        { 
            MailMessage message = new MailMessage();
            message.From = new MailAddress(emailObj.Address, emailObj.DisplayName, System.Text.Encoding.UTF8);//发件人地址(可以随便写),发件人姓名,编码
            message.To.Add(emailObj.EmailTo);
            message.Subject = emailObj.Subject;//邮件标题   
            message.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码   
            message.Body = emailObj.EmailBody;//邮件内容   
            message.BodyEncoding = System.Text.Encoding.UTF8;//邮件  
            message.IsBodyHtml = true;
            message.Priority = MailPriority.Normal;
            SmtpClient client = new SmtpClient();
            client.Port = emailPort;//使用的端口   
            client.Host = emailHost;
            client.Credentials = new System.Net.NetworkCredential(emailObj.UserName, emailObj.Password);
            client.EnableSsl = true;//经过ssl加密(本人测试时发现这里为true才可发送) 
            object userState = message; 
            try
            { 
                client.Send(message); 
                return "Send Email Success!";
            }
            catch (System.Net.Mail.SmtpException ex)
            { 
                return ex.Message;
            }  
        }  
    }


2.Sina

 class Send
    {
        private static int emailPort = 25;
        private static string emailHost = "smtp.sina.com"; 
        public string SendEmail(EmailUser emailObj)
        { 
            MailMessage message = new MailMessage();
            message.From = new MailAddress(emailObj.Address, emailObj.DisplayName, System.Text.Encoding.UTF8);//发件人地址(可以随便写),发件人姓名,编码
            message.To.Add(emailObj.EmailTo);
            message.Subject = emailObj.Subject;//邮件标题   
            message.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码   
            message.Body = emailObj.EmailBody;//邮件内容   
            message.BodyEncoding = System.Text.Encoding.UTF8;//邮件  
            message.IsBodyHtml = true;
            message.Priority = MailPriority.Normal;
            SmtpClient client = new SmtpClient();
            client.Port = emailPort;//使用的端口   
            client.Host = emailHost;
            client.Credentials = new System.Net.NetworkCredential(emailObj.UserName, emailObj.Password); 
            object userState = message; 
            try
            { 
                client.Send(message); 
                return "Send Email Success!";
            }
            catch (System.Net.Mail.SmtpException ex)
            { 
                return ex.Message;
            }  
        }  
    }



这两种方式主要是邮件服务器地址和端口不同


资源下载地址:http://download.youkuaiyun.com/detail/chr23899/8128663

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值