自动发送邮件

今天有一个模块需要自动发送邮件的功能,就随便写了一个,记录一下作为积累。

一、首先需要配置web.config文件:
< system .net >
    
< mailSettings >
      
< smtp  from ="Emailname" >
        
< network  host ="smtp.163.com"  userName ="Emailname"  password ="Emailpassword"  
    port
="25"  defaultCredentials ="false" />
      
</ smtp >
    
</ mailSettings >
</ system.net >
二、然后编写发送邮件的函数:
/// <summary>
    
/// 邮件发送方法(带附件)
    
/// </summary>
    
/// <param name="mailto">收件人地址。如:receiver@163.com</param>
    
/// <param name="mailsubject">邮件标题</param>
    
/// <param name="mailbody">邮件正文</param>
    
/// <param name="mailFrom">邮件发送人地址。如:sender@163.com</param>
    
/// <param name="list">附件路径</param>
    
/// <returns></returns>

     public   bool  MySendMail( string  mailto,  string  mailsubject,  string  mailbody,  string  mailFrom, ArrayList list)
    
{
        
try
        
{
            
//邮件发送人地址
            System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(mailFrom);
             
//如test@163.com,初步测试,用test@sina.com不行,用163的邮件服务器,就必须用163邮箱的用户名
            
//收件人地址
            System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(mailto);//如test@tom.com
            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(from, to);
            mail.Subject 
= mailsubject;
            mail.Body 
= mailbody;

            
//以下设置服务器
            System.Net.Mail.SmtpClient mySmth = new System.Net.Mail.SmtpClient();
            
//以下为增加附件
            int count = list.Count;
            
for (int i = 0; i < count; i++)
            
{
                System.Net.Mail.Attachment data 
= new System.Net.Mail.Attachment(list[i].ToString());
                mail.Attachments.Add(data);
            }

            mySmth.Send(mail);
            mail.Dispose();
            
return true;
        }

        
catch
        
{
            
return false;

        }

    }

三、最后就是对函数的调用了:

// 自动发送邮件
string  mailSubject  =   " 会员注册确认函 " ;
string  mailBody  =   " 正文内容。 " ;
string  mailFrom  =  ConfigurationManager.AppSettings[ " SendMail " ];
ArrayList List 
=   new  ArrayList();
List.Add(Server.MapPath(ConfigurationManager.AppSettings[
" SendMailText " ]));
if  (MySendMail( this .txtEmail.Text, mailSubject, mailBody, mailFrom, List))
{
  ShowAndRedirect(
this"注册确认函已经发送到你的邮箱,请查收!""index.aspx");
}

else
{
   ShowAndRedirect(
this"邮件发送失败!""index.aspx");
   
return;
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
定时自动发送邮件服务使用说明 该软件运行环境需要.Net 3.5支持,Win7系统上可以直接运行. 主要功能可以定时自动发送邮件,发送程序做成服务形式,用户无需登录, 只要电脑是开启状态,就会自动执行发送邮件. 包含的文件, 1.AutoSendMail.exe --设置程序 2.AutoSendMail_Log.txt --存放日志的文本文件. 可自动生成 3.AutoSendMail_Setting.xml --配置文件 4.AutoSendMailService.exe --服务程序 5.InstallUtil.exe --微软的安装服务必须程序 6.tasks.mdb --Access数据库文件,用于存放邮箱内容. 可更改文件 7.安装服务.bat 8.使用说明.txt 9.卸载服务.bat 安装步骤: 第一步:安装服务 运行“安装服务.bat”文件。(需要管理员权限) 第二步:修改配置文件 修改好配置文件AutoSendMail_Setting.xml。确保Access数据库连接正确,每个任务的发送时点,和邮件信息。 每次修改配置文件必需重新启动服务才生效。 第三步:启动服务 a.从服务管理控制台启动服务,运行services.msc命令打开控制台。 b.通过设置程序启动服务。(需要管理员权限) 如果删除服务,则运行“卸载服务.bat”。 接口定义: 每个任务需要在指定的Access数据库里设置一个视图或表,用于存放邮件信息, 字段格式: 第一字段:ID 自动编号 第二字段:收件人 文本类型 第三字段:抄送人 文本类型 第四字段:主题 文本类型 第五字段:内容 备注类型 第六字段:发送次数 数字类型 备注:程序通过ID查找记录,来更新发送次数的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值