使用System.Net.Mail通过gmail发送电子邮件

简介:
gmail的smtp采用了ssl连接:
     Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)
     Use Authentication: Yes
     Use STARTTLS: Yes (some clients call this SSL)
     Port: 465 or 587 

知道了gmail的发信细节,用System.Net.Mail,就是下面这段代码就可以了
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Net;
using  System.Net.Mail;

namespace  GMailSend
{
    
class Program
    
{
        
static void Main(string[] args)
        
{
            
try
            
{
                Program prg 
= new Program();
                prg.Host 
= "smtp.gmail.com";
                prg.SmtpUsername 
= "[email]zhangshanyou@gmail.com[/email]";
                prg.SmtpPassword 
= "xxxxxxxx";
                prg.Port 
= 587;
                prg.Send(
"[email]zhangshanyou@gmail.com[/email]","[email]33235911@qq.com[/email]",  "test""test"nullnull);
            }

            
catch (Exception ex)
            
{
                Console.WriteLine(ex.Message);

            }

            Console.Read();
        }


        
private string _host;

        
public string Host
        
{
            
get return _host; }
            
set { _host = value; }
        }

        
private int _port;

        
public int Port
        
{
            
get return _port; }
            
set { _port = value; }
        }

        
private string _smtpUsername;

        
public string SmtpUsername
        
{
            
get return _smtpUsername; }
            
set { _smtpUsername = value; }
        }

        
private string _smtpPassword;

        
public string SmtpPassword
        
{
            
get return _smtpPassword; }
            
set { _smtpPassword = value; }
        }


        
public void Send(string from, string to, string subject, string body, string[] cc, string[] bcc)
        
{
            
// Create mail message
            MailMessage message = new MailMessage(from, to, subject, body);
            message.BodyEncoding 
= Encoding.GetEncoding(936);

            
if (cc != null && cc.Length > 0)
            
{
                
foreach (string ccAddress in cc)
                
{
                    message.CC.Add(
new MailAddress(ccAddress));
                }

            }

            
if (bcc != null && bcc.Length > 0)
            
{
                
foreach (string bccAddress in bcc)
                
{
                    message.Bcc.Add(
new MailAddress(bccAddress));
                }

            }


            
// Send email
            SmtpClient client = new SmtpClient(this._host, this._port);
            
if (!String.IsNullOrEmpty(this._smtpUsername) && !String.IsNullOrEmpty(this._smtpPassword))
            
{
                client.Credentials 
= new NetworkCredential(this._smtpUsername, this._smtpPassword);
            }

            client.EnableSsl 
= true;

            client.Send(message);
            
        }


    }

}

自由、创新、研究、探索…… 
Url:  [url]http://shanyou.cnblogs.com[/url] 
website:  [url]http://www.openbeta.cn[/url]

Feedback

#1楼    回复  引用  查看    

2007-06-10 00:19 by  Student [未注册用户]
public void Send(string from, string to, string subject, string body, string[] cc, string[] bcc) 

// Create mail message 
MailMessage message = new MailMessage(from, to, subject, body); 
message.BodyEncoding = Encoding.GetEncoding(936); 

if (cc != null && cc.Length > 0) 

foreach (string ccAddress in cc) 

message.CC.Add(new MailAddress(ccAddress)); 


if (bcc != null && bcc.Length > 0) 

foreach (string bccAddress in bcc) 

message.Bcc.Add(new MailAddress(bccAddress)); 



//能解释一下这段代码吗? 
谢谢





本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/74282,如需转载请自行联系原作者
目录
相关文章
|
5月前
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
75 1
|
7月前
|
API C#
.NET电子邮件高效处理解决方案
.NET电子邮件高效处理解决方案
|
XML 弹性计算 自然语言处理
解析大型.NET ERP系统 电子邮件系统帐户集成
为保证ERP系统的信息流准确快速的传递,需要给系统设计一个消息盒子机制。当系统中发生业务操作后,需要提醒下一个环节的操作人员,以保证ERP信息流快速准确传递。比如生产任务单(工作单,加工单,制单)过帐完成后,需要通知仓库准备材料供车间领料生产。
584 0
|
数据安全/隐私保护
|
.NET 数据安全/隐私保护 开发框架
ASP.NET 3.5 中实现发送email电子邮件
来源:红黑联盟 方法1:cs代码 using System.Net.Mail; using System.Net; 1 string mailServerName = "smtp.
1950 0
|
3月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
6月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
83 7

热门文章

最新文章