c# 发送带附件的邮件

using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Text;

public class EmailUitls
    {
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="fileName">附件路径</param>
        /// <param name="name">发件人名字</param>
        /// <param name="eamil">接收邮箱</param>
        /// <param name="title">标题</param>
        /// <param name="content">内容</param>
        /// <returns>成功/失败</returns>
        public static string send(string fileName, string name, string eamil, string title, string content)
        {
            SmtpClient client = new SmtpClient("smtp.qq.com");
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("[email protected]", "qmftxbybbqtschac");

            MailAddress from = new MailAddress("[email protected]", name, Encoding.UTF8);//初始化发件人  

            MailAddress to = new MailAddress(eamil, "", Encoding.UTF8);//初始化收件人  

            //设置邮件内容
            MailMessage message = new MailMessage(from, to);
            message.Body = content.Trim();
            message.BodyEncoding = Encoding.UTF8;
            message.Subject = title.Trim();
            message.SubjectEncoding = Encoding.UTF8;
            message.IsBodyHtml = false;

            if (!string.IsNullOrEmpty(fileName))
            {
                //附件
                Attachment myAttachment = new System.Net.Mail.Attachment(fileName, MediaTypeNames.Application.Octet);

                //MIME协议下的一个对象,用以设置附件的创建时间,修改时间以及读取时间
                ContentDisposition disposition = myAttachment.ContentDisposition;
                disposition.CreationDate = File.GetCreationTime(fileName);
                disposition.ModificationDate = File.GetLastWriteTime(fileName);
                disposition.ReadDate = File.GetLastAccessTime(fileName);

                //用smtpclient对象里attachments属性,添加上面设置好的myattachment
                message.Attachments.Add(myAttachment);
            }

            try
            {
                client.Send(message);
                return "邮件发送成功!";
            }
            catch (Exception ex)
            {
                return "邮件发送失败!" + ex.Message;
            }
        }
    }

有一个问题,附件太大会发送失败

解决方法:https://support.microsoft.com/zh-cn/kb/2468871  (未测试)

时间: 2024-07-29 12:18:04

c# 发送带附件的邮件的相关文章

Android上发送带附件的邮件

准备工作-下载最新版本的JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html 在android上发送邮件方式: 第一种:借助GMail APP客户端,缺点是必须使用GMail帐号,有点是比较方便 不需要写很多代码,但是不是很灵活. 第二种

(转)用javamail发送带附件的邮件

本文转载自:http://redleaf.iteye.com/blog/78217 mail.java 代码 package mail; import java.util.* ; import java.io.* ; import javax.mail.* ; import javax.mail.internet.* ; import javax.activation.* ; public class Mail { //定义发件人.收件人.SMTP服务器.用户名.密码.主题.内容等 privat

自动化测试发送带附件的邮件

自动化测试发送带附件的邮件 标签(空格分隔): 带附件邮件 在我们的自动化测试中,有时候会发送报告,有时候会发送带附件的报告,具体带附件的报告怎么操作呢? 具体的步骤如下述所示:如下是QQ邮箱为例 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # 用于传送附件 smtpserver = 'smtp.exmail.qq.com' user = '*

C#发送带附件的邮件的代码

如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m.Body = "See the attached file.";m.Attachments.Add(new Attachment(@"C:test.txt"));SmtpClient client = new SmtpClient("smtp.w3mentor

Apache Mail 发送带附件的邮件

MultiPartEmail email = new MultiPartEmail(); email.setDebug(true); email.setHostName("smtp.sina.com"); email.setAuthentication("发送邮件帐号", "邮箱登录密码"); email.setCharset("UTF-8"); try { email.setFrom("发送邮件帐号",

【Mail】JavaMail发送带附件的邮件

上一篇讲了使用JavaMail发送普通邮件([Mail]JavaMail介绍及发送邮件(一)),本例讲发送复杂的邮件(带有附件的邮件) 生成一封复杂的邮件 新建一个JavaWeb的Maven工程,引入javamail.jar包,maven引用如下: 1 <!-- javamail --> 2 <dependency> 3 <groupId>javax.mail</groupId> 4 <artifactId>mail</artifactId

如何用unity3d实现发送带附件的邮件

以Gmail为例.点击屏幕的Capture按钮得到当前屏幕截图,点击Send按钮将之前的截图作为附件发送邮件. using UnityEngine; using System.Collections; using System; using System.Net; using System.Net.Mail; using System.Net.Security; using System.Security.Cryptography.X509Certificates; public class T

smtp发送带附件的邮件(直接将string类型结果保存为附件)

该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好    MailMessage mmsg = new MailMessage();    mmsg.Subject = "邮件标题";    mmsg.Body = "邮件内容";    mmsg.To.Add("[email protected]");//接收邮箱    byte[] bytes = System.Text.Encoding.Default.GetBytes  

【python】用SMTP模块发送带附件的邮件

第一篇博客!参考链接? 在书上看了用SMTP模块发邮件,试过之后发现并没有什么用.163邮箱开启了SMTP服务后,登陆了发送的时候却被拒收了. 找了前人的资料,发现被过期的教程害死了. 以下代码有效: import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage #全部为python内