SMTP发送邮箱

1.源码

        /// <summary>
        /// SMTP发送邮箱(默认用QQ邮箱发送)
        /// </summary>
        /// <param name="toAddress">收件人邮箱</param>
        /// <param name="subject">邮件主题</param>
        /// <param name="body">邮件正文</param>
        /// <param name="host">host   ----->QQ的为smtp.qq.com</param>
        /// <param name="port">port   ----->QQ的为587</param>
        /// <param name="IsfilePath">是否添加附件</param>
        /// <param name="filePath">添加附件路径</param>
        /// <param name="IsccAddresses">是否抄送</param>
        /// <param name="ccAddresses">抄送地址    即抄送多个邮箱</param>*/
        public void SendEmail(string toAddress, string subject, string body, string host = "smtp.qq.com", int port = 587, bool IsfilePath=false, string filePath="",bool IsccAddresses=false, string[] ccAddresses=null)
        {
            try
            {
                MailMessage mailMessage = new MailMessage();
                SmtpClient smtpClient = new SmtpClient();

                // 设置发件人邮箱
                mailMessage.From = new MailAddress("1234567@qq.com");
                // 设置收件人邮箱
                mailMessage.To.Add(toAddress);
                // 设置邮件主题
                mailMessage.Subject = subject;
                // 设置邮件正文
                mailMessage.Body = body;
                if (IsfilePath)
                {
                    // 添加附件(指定文件路径)   这里可以指定多个路径 每个都Add就可以了
                    Attachment attachment = new Attachment(filePath);
                    mailMessage.Attachments.Add(attachment);
                }

                if (IsccAddresses)
                {
                    // 添加抄送地址
                    foreach (string ccAddress in ccAddresses)
                    {
                        mailMessage.CC.Add(new MailAddress(ccAddress));
                    }
                }
                // 设置SMTP服务器
                smtpClient.Host = host; //"smtp.qq.com";
                // 使用SSL加密
                smtpClient.EnableSsl = true;
                // 设置SMTP服务器端口
                smtpClient.Port = port;//587; // 或者使用587
                // 设置发件人邮箱的用户名和密码   --->密码是SMTP验证码
                smtpClient.Credentials = new NetworkCredential("1234567@qq.com", "123456789");

                // 发送邮件
                smtpClient.Send(mailMessage);
                Console.WriteLine("邮件发送成功!");
            }
            catch (SmtpException ex)
            {
                Console.WriteLine("SMTP Exception: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception: " + ex.InnerException.Message);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("General Exception: " + ex.Message);
            }
        }

2.使用实例

        private void button1_Click(object sender, EventArgs e)
        {
        SendEmail("135791@qq.com", "邮件主题", "邮件正文内容","smtp.qq.com", 587, true,"C:\\Users\\75252\\Desktop\\2024Test\\Source.bmp",false,new string[2]{"111111@qq.com","2222222@gmail.com"});
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值