没用过vs的net.mail.
我只用过jmail收发邮件,一切OK!

解决方案 »

  1.   

    msg.DeliveryMethod = SmtpDeliveryMethod.Network;加上这句
      

  2.   

    /*****************************************/
    /* Project name: MailDaemon              */
    /* Module name: Mail Sender              */
    /* Author: Ming Yeh                      */
    /* Created date: 2006-08-21              */
    /* Last modified by:                     */
    /* Last modify date:                     */
    /*                .-._                   */
    /*               {_}^ )o                 */
    /*      {\________//~`                   */
    /*       (         )                     */
    /*       /||~~~~~||\                     */
    /*      |_\\_    \\_\_                   */
    /*                                       */
    /*****************************************/
    using System;
    using System.Collections.Generic;
    using System.Net;
    using System.Net.Mail;
    using System.Text;namespace mailDaemon
    {
        class MailSender
        {
            private const string SERVER_IP = "61.181.255.80";
            private const string SENDER_EMAIL = "[email protected]";
            private const string USERNAME = "mailist";
            private const string PASSWORD = "bu2kwh1at";
            private const string SUBJECT = "高速路商机速递";
            string _server;
            string _senderEmail;
            string _username;
            string _password;
            static bool mailSent = false;        public MailSender(string server, string senderEmail, string username, string password)
            {
                _server = server;
                _senderEmail = senderEmail;
                _username = username;
                _password = password;
            }
            public MailSender():this(SERVER_IP, SENDER_EMAIL, USERNAME, PASSWORD)
            {
                
            }
            public void SendMail(string email, string content)
            {
                MailMessage msg = new MailMessage(_senderEmail, email, SUBJECT, content);
                msg.BodyEncoding = Encoding.UTF8;
                msg.Priority = MailPriority.High;
                msg.IsBodyHtml = true;
                SmtpClient client = new SmtpClient(_server);
                NetworkCredential credential = new NetworkCredential(_username, _password);
                client.UseDefaultCredentials = false;
                client.Credentials = credential;
                client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
                client.SendAsync(msg, "Message Sent.");
                Console.WriteLine(email + "邮件发送中,按C取消发送");
                //string answer = Console.ReadLine();
                //if (answer.StartsWith("c") && mailSent == false)
                //{
                //    client.SendAsyncCancel();
                //}
                Console.WriteLine(email + "处理完成");
            }        void client_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
            {
                String token = (string)e.UserState;            if (e.Cancelled)
                {
                    Console.WriteLine("[{0}] Send canceled.", token);
                }
                if (e.Error != null)
                {
                    Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
                }
                else
                {
                    Console.WriteLine("Message sent.");
                }
                mailSent = true;
            }
        }
    }
      

  3.   

    2.0的  
    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                mail.To.Add("[email protected]");
                mail.From = new System.Net.Mail.MailAddress("[email protected]", "收信", System.Text.Encoding.UTF8);
                mail.Subject = "哈哈";
                mail.SubjectEncoding = System.Text.Encoding.UTF8;
                mail.Body = "abc";
                mail.BodyEncoding = System.Text.Encoding.UTF8;
                mail.IsBodyHtml = true;
                mail.Priority = System.Net.Mail.MailPriority.High;            System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                client.Host = "smtp.163.com";
                client.Port = 587;
                client.EnableSsl = true;
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "skwin123");
                client.Send(mail);