发送邮件代码

复制代码
        /// <summary>
        /// メール送信
        /// </summary>
        /// <param name="mailAddressList">メールリスト</param>
        /// <returns>true:成功 </returns>
        private static bool Send(List<string> mailAddressList)
        {
            string errMessage = string.Empty;
            try
            {
                // メール配置を設定する
                var smtpClient = new SmtpClient();
                smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                smtpClient.Host = "smtp.qq.com";
                smtpClient.Port = 25;
                smtpClient.UseDefaultCredentials = false;
                smtpClient.Credentials = new NetworkCredential("******@qq.com", "******");
                smtpClient.EnableSsl = true;

                // メールメッセージを作成する。
                using (MailMessage message = new MailMessage())
                {
                    // 送信者アドレス
                    message.From = new MailAddress("******@qq.com");

                    // 受信者アドレス
                    foreach (string mailAddress in mailAddressList)
                    {
                        message.To.Add(mailAddress);
                    }
                    
                    // タイトル
                    message.Subject = "test";

                    // メッセージ本文
                    message.Body = "send email test";

                    // メッセージ本文の文字セット
                    message.BodyEncoding = System.Text.Encoding.UTF8;

                    // メッセージの本文がHTML形式
                    message.IsBodyHtml = true;
                    message.Priority = MailPriority.High;

                    // 添付ファイル
                    var attachment = new Attachment(@"D:\DSC_8708.jpg", MediaTypeNames.Application.Octet);
                    message.Attachments.Add(attachment);

                    // 送信する。
                    smtpClient.Send(message);

                    return true;
                }
            }
            catch (Exception)
            {
                return false;
            }
        }    
复制代码

发送邮箱要支持smtp

PS:QQ邮箱必须设置独立密码才能开启smtp

 

利用outlook发送邮件

复制代码
        var olApp = new Microsoft.Office.Interop.Outlook.Application();
         MailItem mailItem = (MailItem)olApp.CreateItem(OlItemType.olMailItem);
         mailItem.To = "XXX@XXXX";
         mailItem.Subject = "题目";
         mailItem.BodyFormat = OlBodyFormat.olFormatHTML;
         string content = "正文";
         mailItem.HTMLBody = content;
         //附件
         //mailItem.Attachments.Add(@"D:\\hello.txt");
         mailItem.Display();
         mailItem.Send();
         mailItem = null;
         olApp = null;            
复制代码

outlook必须处于打开状态,如果发送不带附件的邮件需要加mailItem.Display(),带附件不需要加,outlook2010下测试,版本为14

posted @   任锋  阅读(193)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示