C#发送邮件

/// <summary>
        /// 发送电子邮件
        /// </summary>
        /// <param name="MessageFrom">发件人邮箱地址</param>
        /// <param name="MessageTo">收件人邮箱地址</param>
        /// <param name="MessageSubject">邮件主题</param>
        /// <param name="MessageBody">邮件内容</param>
        /// <returns></returns>
        public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)
        {
            MailMessage message = new MailMessage();

            // if (FileUpload1.PostedFile.FileName != "")
            // {
            // Attachment att = new Attachment("d://test.txt");//发送附件的内容
            //    message.Attachments.Add(att);
            // }

            message.From = MessageFrom;
            message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发
            message.Subject = MessageSubject;
            message.Body = MessageBody;
            //message.Attachments.Add(objMailAttachment);
            message.IsBodyHtml = false; //是否为html格式
            message.Priority = MailPriority.High; //发送邮件的优先等级

            SmtpClient sc = new SmtpClient();
            //指定发送邮件的服务器地址或IP(这里也可以根据邮箱的后缀来指定不同的邮箱服务器地址"smtp.xx.com")
            if (MessageTo.Contains("@qq.com"))
            {
                sc.Host = "smtp.qq.com";
            }
            if (MessageTo.Contains("@163.com"))
            {
                sc.Host = "smtp.163.com";
            }
            sc.Port = 25; //指定发送邮件端口(发件协议一般使用SMTP协议,端口号为25,收件采用POP3协议,其端口号为110)
            sc.Credentials = new System.Net.NetworkCredential("834632450@qq.com", "hnbqvrsasoaobdcc"); //指定登录服务器的用户名和密码(发件人的邮箱登陆密码)注意:如果邮箱已经申请授权码,这里的密码应该使用授权码验证

            try
            {
                sc.Send(message); //发送邮件
                return true;
            }
            catch
            {
                return false;
            }
        }

 

/// <summary>
        /// 向目标邮箱发送邮件
        /// </summary>
        /// <param name="emailName"></param>
        /// <returns></returns>
        public ActionResult RegisterEmail(string emailName)
        {
            //判断注册者使用什么类型的邮箱
            if (emailName.Contains("@qq.com"))
                ViewBag.emailType = "https://mail.qq.com";
            if (emailName.Contains("@163.com"))
                ViewBag.emailType = "https://mail.163.com/";
            //发送邮件
            MailAddress MessageFrom = new MailAddress("834632450@qq.com"); //发件人邮箱地址
            string MessageTo = emailName; //收件人邮箱地址
            string MessageSubject = "邮件主题"; //邮件主题
            string MessageBody = "由于我公司网站尚未发布,请复制下面的链接到地址栏完善您的个人信息:'http://localhost:1778//Home/EmailActivate?emailName=" + emailName + "'"; //邮件内容 (一般是一个网址链接,生成随机数加验证id参数,点击去网站验证。)
            if (Send(MessageFrom, MessageTo, MessageSubject, MessageBody) == false)//邮件发送失败
            {
                Response.Write("<script>alert('邮件发送失败,请查看邮箱是否填写正确');</script>");
                return View("Register");
            }
            return View();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用C#编写的控制台程序,用于发送邮件: ```csharp using System; using System.Net; using System.Net.Mail; class Program { static void Main(string[] args) { // 设置邮件服务器 string smtpServer = args[0]; int smtpPort = 25; SmtpClient client = new SmtpClient(smtpServer, smtpPort); // 设置发件人 string from = args[1]; string displayName = args[2]; MailAddress fromAddress = new MailAddress(from, displayName); // 设置收件人 string to = args[3]; MailAddress toAddress = new MailAddress(to); // 创建邮件对象 MailMessage message = new MailMessage(fromAddress, toAddress); // 设置抄送和密送 if (args.Length > 4) { string[] cc = args[4].Split(','); foreach (string c in cc) { message.CC.Add(c); } } if (args.Length > 5) { string[] bcc = args[5].Split(','); foreach (string b in bcc) { message.Bcc.Add(b); } } // 设置主题和内容 message.Subject = args[6]; message.Body = args[7]; // 添加附件 if (args.Length > 8) { string[] attachments = args[8].Split(','); foreach (string attachment in attachments) { Attachment file = new Attachment(attachment); message.Attachments.Add(file); } } // 发送邮件 client.Send(message); Console.WriteLine("邮件发送成功!"); } } ``` 在命令行中输入以下命令即可发送邮件: ``` SendMail 邮件服务器IP 发件人 显示名称 收件人 抄送 密送 主题 内容 文件 ``` 其中,邮件服务器IP、发件人、显示名称、收件人、主题和内容是必填项,抄送、密送和文件是可选项。如果有多个收件人、抄送或密送,可以用逗号分隔。如果有多个文件,也可以用逗号分隔。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值