当前位置:编程学习 > C#/ASP.NET >>

SmtpClient 发送企业邮箱问题

问题:如163/sina/gmail/QQ等免费邮箱都可以发;但企业邮箱发不出去,如21、35之类的企业邮箱.
跪求赐教!
部分代码:

   //创建smtpclient对象
                System.Net.Mail.SmtpClient client = new SmtpClient();
                client.Timeout = 600000;
                client.Host = send_stmp;
                if (port != 0)
                {
                    client.Port = port;//使用的端口 
                }
                if (ssl == 1)
                {
                    client.EnableSsl = true;//经过ssl加密
                }

                client.UseDefaultCredentials = false;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;


                client.Credentials = new System.Net.NetworkCredential(send_email, send_pwd);
                //创建mailMessage对象 
                System.Net.Mail.MailMessage message = new MailMessage(send_email, recv_email);
                message.Subject = title;
                message.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
                //正文默认格式为html
                message.Body = content;
                message.IsBodyHtml = true;
                message.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");



                //添加附件
                try
                {
                    for (int p = 0; p < paths.Count; p++)
                    {
                        Stream stream = null;
                        //System.Encoding.UTF8.GetBytes(System.String);
                        //System.Text.Encoding.UTF8.GetBytes(paths[p]);
                        FileInfo fi = new FileInfo(paths[p].ToString());
                        FileStream fs = fi.OpenRead();
                        Byte[] bytes = new byte[fs.Length];
                        fs.Read(bytes, 0, Convert.ToInt32(fs.Length));


                        stream = new MemoryStream(bytes);

                        System.Net.Mail.Attachment item = new System.Net.Mail.Attachment(stream, pathNames[p].ToString());

                        item.NameEncoding = System.Text.Encoding.UTF8;

                        message.Attachments.Add(item);

                    }

                }
                catch
                {
                }
                if (ssl == 1)
                {
                    object userState = message;

                    try
                    {
                        client.SendAsync(message, userState);
                        success++;
                    }
                    catch
                    {

                        fail++;
                    }
                }
                else
                {

                    try
                    {
                        client.Send(message);
                        success++;
                    }
                    catch
                    {

                        fail++;
                    }
                }
--------------------编程问答-------------------- ……据我所知163的新邮箱(具体0几年就不记得了)是不能用程序发邮件的(就像楼主这样),而163老邮箱是可以的(0几年的我就不记得了)。
至于企业邮箱也是一样:首先要确定人家是否支持这么干。 --------------------编程问答-------------------- 其实网上很多发邮件的代码也就那么几个版本,剩下都是转来转去的。好多人反应不好用,其实最根本原因是:用的邮箱不支持这样做 --------------------编程问答--------------------
引用楼主 sn1104915904 的回复:
问题:如163/sina/gmail/QQ等免费邮箱都可以发;但企业邮箱发不出去,如21、35之类的企业邮箱.
跪求赐教!
部分代码:

  //创建smtpclient对象
  System.Net.Mail.SmtpClient client = new SmtpClient();
  client.Timeout = 600000;
  client.Host = send_s……

支持呀,用outlook,foxmail能发,就是想知道:这种方式跟outlook的区别在哪 --------------------编程问答-------------------- http://www.qudong.com/soft/program/C/rumenjiaocheng/20080401/5239.html --------------------编程问答--------------------
引用 4 楼 snihaps 的回复:
http://www.qudong.com/soft/program/C/rumenjiaocheng/20080401/5239.html

这个相当于调用组件,还有别的方法吗? --------------------编程问答-------------------- 还有好人帮忙解答下吗? --------------------编程问答--------------------

#region 发送exchange邮件(内网邮件)
        public void SendExchangeMail(string mailServer,string sendAdd,
                    string receiverAdd,string subject,string body) 
        {

            try
            {
                SmtpMail.SmtpServer = mailServer;
                //设置发送邮件的Smtp服务器,目前没有提供需要身份验证的服务器的登陆方法
                
                SmtpMail.Send(sendAdd, receiverAdd, subject, body);
            }
            catch (Exception ex) 
            {
                Console.WriteLine(ex.Message);
            }


        }
        #endregion 


我昨天刚做的,测试过了,企业内部邮箱可以
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,