• .net发送邮件


    用System.Web.Mail发送邮件,适用于.net1.1,.net2.0请用System.Net.Mail

    先引用System.Web
    1,发送简单邮件
    [ C# ]
    MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com";
    mail.From = "you@yourcompany.com";
    mail.Subject = "this is a test email.";
    mail.Body = "this is my test email body";
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send( mail );

    这里的smtpserver只能是那些不需要验证的smtp服务器,像126,sina,yahoo等等的邮箱,都需要验证,所以不能用。用这些邮箱发信后面会讲到


    2,发送Html邮件
    [ C# ]
    MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com";
    mail.From = "you@yourcompany.com";
    mail.Subject = "this is a test email.";
    mail.BodyFormat = MailFormat.Html;
    mail.Body = "this is my test email body.<br><b>this part is in bold</b>";
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send( mail );

    3,发送附件
    [ C# ]
    MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com";
    mail.From = "you@yourcompany.com";
    mail.Subject = "this is a test email.";
    mail.Body = "this is my test email body.";
    MailAttachment attachment = new MailAttachment( Server.MapPath( "test.txt" ) ); //create the attachment
    mail.Attachments.Add( attachment ); //add the attachment
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send( mail );


    4,修改发件人和收件人的名称
    比如发件人的地址是abc@126.com,我们用outlook收到信,From一栏里将直接显示abc@126.com.
    能不能在From一栏里显示友好一点的名字呢?
    比如显示Tony Gong

    方法如下:
    [ C# ]
    MailMessage mail = new MailMessage();
    mail.To = "\"John\" <me@mycompany.com>";
    mail.From = "\"Tony Gong\" <you@yourcompany.com>";
    mail.Subject = "this is a test email.";
    mail.Body = "this is my test email body.";
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send( mail );


    5,发送给多人
    [ C# ]
    MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com;him@hiscompany.com;her@hercompany.com";
    mail.From = "you@yourcompany.com";
    mail.Subject = "this is a test email.";
    mail.Body = "this is my test email body.";
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send( mail );

    6,用需要Smtp验证的邮箱发信
    现在为了防止垃圾邮件,绝大部分Smtp服务器需要验证了
    发信方法如下:
    [ C# ]
     MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com";
    mail.From = "abc@126.com";
    mail.Subject = "this is a test email.";
    mail.Body = "Some text goes here";
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here

    SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
    SmtpMail.Send( mail );




    7,修改smtp服务器的端口,以及使用SSL加密
    大部分smtp服务器的端口是25,但有些却不是
    同时,绝大部分Smtp服务器不需要SSL登陆,有些却需要
    比如Gmail,smtp端口是:465,同时支持SSL
    代码如下:

    [ C# ]

    MailMessage mail = new MailMessage();
    mail.To = "me@mycompany.com";
    mail.From = "abc@126.com";
    mail.Subject = "this is a test email.";
    mail.Body = "Some text goes here";
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here

    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport",465);
    mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");

    SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
    SmtpMail.Send( mail );


  • 相关阅读:
    微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed
    腾讯云 docker 镜像 dotnet/core sdk aspnet
    ImageMagick PDF到JPG有时会导致黑色背景
    VS2019 发布单文件
    MySQL 更新语句执行过程 WAL redolog binlog
    MySQL 查询语句执行过程
    让MySQL为我们记录执行流程
    SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束
    初用MySQL Mysql示例库 Navicat15
    OldTrafford after 102 days
  • 原文地址:https://www.cnblogs.com/huashanlin/p/700277.html
Copyright © 2020-2023  润新知