GMAIL的帐号想用C# 通过GMAIL的API接口(好像有个GmailAgent)发送给其他邮件求解

解决方案 »

  1.   


    Mail.cs
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.Mail;
    using System.Net;
    using log4net;
    using System.Configuration;namespace MasterSoft.WinUI
    {
        /// <summary>
        /// 发邮件模块
        /// Author:tonyepaper.cnblogs.com
        /// </summary>
        public class Mail
        {
            private string senderAddress;
            /// <summary>
            /// 发件人
            /// </summary>
            public string SenderAddress
            {
                get { return senderAddress; }
                set { senderAddress = value; }
            }
            private string receiverAddess;
            /// <summary>
            /// 收件人
            /// </summary>
            public string ReceiverAddess
            {
                get { return receiverAddess; }
                set { receiverAddess = value; }
            }
            private string subject;
            /// <summary>
            /// 主题
            /// </summary>
            public string Subject
            {
                get { return subject; }
                set { subject = value; }
            }
            private string body;
            /// <summary>
            /// 内容
            /// </summary>
            public string Body
            {
                get { return body; }
                set { body = value; }
            }
            private string smtpHost;
            /// <summary>
            /// SMTP主机
            /// </summary>
            public string SmtpHost
            {
                get { return smtpHost; }
                set { smtpHost = value; }
            }
            private int smtpPort;
            /// <summary>
            /// SMTP端口
            /// </summary>
            public int SmtpPort
            {
                get { return smtpPort; }
                set { smtpPort = value; }
            }
            private string smtpPassword;
            /// <summary>
            /// SMTP密码
            /// </summary>
            public string Password
            {
                get { return smtpPassword; }
                set { this.smtpPassword = value; }
            }
            /// <summary>
            /// 从配置文件中读出SMTP相关信息
            /// </summary>
            public Mail()
            {
                senderAddress = ConfigurationManager.AppSettings["SmtpUser"];
                smtpPassword = ConfigurationManager.AppSettings["SmtpPassword"];
                smtpHost = ConfigurationManager.AppSettings["SmtpHost"];
                smtpPort = Int32.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
            }
            /// <summary>
            /// 邮件
            /// </summary>
            /// <param name="receiverAddess">收件人地址</param>
            /// <param name="subject">主题</param>
            /// <param name="body">内容</param>
            public Mail(string receiverAddess, string subject, string body):this()
            {
                this.receiverAddess = receiverAddess;
                this.subject = subject;
                this.body = body;
            }
            /// <summary>
            /// 发送邮件
            /// </summary>
            public bool Send()
            {
                MailMessage mailMessage = new MailMessage(senderAddress, receiverAddess);
                mailMessage.Subject = subject;
                mailMessage.Body = body;            SmtpClient smtpClient = new SmtpClient(smtpHost, smtpPort);
                //使用SSL加密连线
                smtpClient.EnableSsl=true;
                NetworkCredential networkCredential = new NetworkCredential(senderAddress, smtpPassword);
                smtpClient.Credentials = networkCredential;
                try
                {
                    smtpClient.Send(mailMessage);
                    return true;
                }
                catch (Exception ex)
                {
                    return false;
                }
            }
        }
    }
    App.config
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="SmtpHost" value="smtp.gmail.com"/>
        <add key="SmtpPort" value="587"/>
        <add key="SmtpUser" value="[email protected]"/>
        <add key="SmtpPassword" value="*******"/>
      </appSettings>
    </configuration>
      

  2.   

    c# 通过GMAIL发送邮件代码(2008-03-08 16:18:39)
    标签:杂谈 
     
    MailMessage msg = new System.Net.Mail.MailMessage();
                msg.To.Add("[email protected]");
                msg.CC.Add("[email protected]");
                msg.From = new MailAddress("[email protected]", "zzj", System.Text.Encoding.UTF8);
                msg.Subject = "这是测试邮件";
                msg.SubjectEncoding = System.Text.Encoding.UTF8;
                msg.Body = "邮件内容";
                msg.BodyEncoding = System.Text.Encoding.UTF8;
                msg.IsBodyHtml = false;
                msg.Priority = MailPriority.High;
                SmtpClient client = new SmtpClient();
                //设置GMail邮箱和密码
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "XXXXXX");
                client.Port = 587;
                client.Host = "smtp.gmail.com";
                client.EnableSsl = true;
                object userState = msg;
                try
                {
                    client.Send(msg);
                    MessageBox.Show("发送成功");
                }
                catch (System.Net.Mail.SmtpException ex)
                {
                    MessageBox.Show(ex.Message, "发送邮件出错");
                }
      

  3.   

    主要是设置Gmail的SMTP地址,端口,SSL加密等参数,代码如下:
    private void button1_Click(object sender, EventArgs e)
            {
                MailMessage msg = new System.Net.Mail.MailMessage();
                msg.To.Add("[email protected]");
                msg.CC.Add("[email protected]");            msg.From = new MailAddress("[email protected]", "yyy", System.Text.Encoding.UTF8);
                msg.Subject = "这是测试邮件";      
                msg.SubjectEncoding = System.Text.Encoding.UTF8;
                msg.Body = "邮件内容";
                msg.BodyEncoding = System.Text.Encoding.UTF8;
                msg.IsBodyHtml = false;
                msg.Priority = MailPriority.High;            SmtpClient client = new SmtpClient();
                //设置GMail邮箱和密码 
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxx");
                client.Port = 587;
                client.Host = "smtp.gmail.com";
                client.EnableSsl = true;
                object userState = msg;
                try
                {
                    client.Send(msg);
                    MessageBox.Show("发送成功");
                }
                catch (System.Net.Mail.SmtpException ex)
                {
                    MessageBox.Show(ex.Message, "发送邮件出错");
                }
            }
      

  4.   

     MailMessage msg = new System.Net.Mail.MailMessage();
                msg.To.Add("[email protected]");
                msg.CC.Add("[email protected]");            msg.From = new MailAddress("[email protected]", "A", System.Text.Encoding.UTF8);
                msg.Subject = "这是测试邮件";      
                msg.SubjectEncoding = System.Text.Encoding.UTF8;
                msg.Body = "邮件内容";
                msg.BodyEncoding = System.Text.Encoding.UTF8;
                msg.IsBodyHtml = false;
                msg.Priority = MailPriority.High;            SmtpClient client = new SmtpClient();
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxx");
                client.Port = 587;
                client.Host = "smtp.gmail.com";
                client.EnableSsl = true;
                object userState = msg;
                try
                {
                    client.Send(msg);
                    MessageBox.Show("发送成功");
                }
                catch (System.Net.Mail.SmtpException ex)
                {
                    MessageBox.Show(ex.Message, "发送邮件出错");
                }
    不能频繁发送,要过段时间否则会屏蔽
    参考
      

  5.   

     public void Alert(string str_Message)
        {
            string str = "<script>alert('" + str_Message + "');";
            str += ("<");
            str += ("/script");
            str += (">");
            Page.RegisterStartupScript("", str);
        }
        public void Send()
        {
            MailMessage Mail = new MailMessage();
            MailAddress Address = new MailAddress(System.Configuration.ConfigurationManager.AppSettings["userName"]);
            Mail.From = Address;
            Mail.To.Add(EMail);
            Mail.Subject = "忘记密码!";
            Mail.Body = Result;
            Mail.IsBodyHtml = true;
            SmtpClient sc = new SmtpClient();
            sc.Send(Mail);
            Alert("已经发到您的邮箱!");
        }web-config<system.net>
            <mailSettings>
                <smtp>
                    <network host="smtp.163.com" port="25" userName="你用户名" password="密码"/>
                </smtp>
            </mailSettings>
        </system.net>
      

  6.   

    try
            {
                System.Net.Mail.MailMessage mailObj = new System.Net.Mail.MailMessage();
                mailObj.IsBodyHtml = true;
                mailObj.Subject = "邮件标题";
                mailObj.Body = "邮件正文";
                mailObj.To.Add("收信人地址");
                System.Net.Mail.SmtpClient SmtpMail = new SmtpClient("smtp.gmail.com");
                mailObj.From = new MailAddress("发信人@gmail.com", "你的名字", System.Text.Encoding.UTF8);
                SmtpMail.Credentials = new System.Net.NetworkCredential("发信人@gmail.com", "密码");
                //gmail 专有配置 开始
                SmtpMail.Port = 587;
                SmtpMail.EnableSsl = true;
                //gmail 专有配置 结束
               
                SmtpMail.Send(mailObj);
            Response.Write("邮件发送成功!");
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            } <system.net>
            <mailSettings>
                <smtp>
                    <network host ="smtp.gmail.com" userName ="发信人@gmail.com"  port ="587" password ="*****"/>
                </smtp>
            </mailSettings>
        </system.net> SmtpClient client = new SmtpClient();
     MailMessage mm = new MailMessage("发件人@gamil.com", "收件人@qq.com", "Ttile", "body");
    client.Send(mm);
      

  7.   

    拜托,人家gmail agent是用html表单发送……穿透代理……去google一下……可是貌似那个gmail agent api不能用了?