1。发的邮件 163 可以收得到
   qq邮箱也可以收到(但视为垃圾邮件)2。sohu、tom收不到,而且收到如下信息:
This is an automatically generated Delivery Status Notification.Delivery to the following recipients failed.请高手指点!!谢谢!注意:我的电脑是局域网中的一台,网是房东的,有一个路由器。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;/// <summary>
/// 电子邮件类
/// </summary>
public class Email
{
    #region 邮件属性    private string subject;
    private string from;
    private string sender;
    private string[] toList; 
    
    private string content;    /// <summary>
    /// 邮件主题
    /// </summary>
    public string Subject
    {
        get { return subject; }
        set { subject = value; }
    }    /// <summary>
    /// 邮件发送地址
    /// </summary>
    public string From
    {
        get { return from; }
        set { from = value; }
    }    /// <summary>
    /// 发送者称谓
    /// </summary>
    public string Sender
    {
        get { return sender; }
        set { sender = value; }
    }    /// <summary>
    /// 接收地址列表
    /// </summary>
    public string[] ToList
    {
        get { return toList; }
        set { toList = value; }
    }    /// <summary>
    /// 邮件内容
    /// </summary>
    public string Content
    {
        get { return content; }
        set { content = value; }
    }    #endregion    #region 构造函数    public Email()
{    }    #endregion    #region 邮件方法    public bool Send(Email newEmail)
    {
        MailAddress from = new MailAddress(newEmail.From,newEmail.Sender);        MailAddress[] toList = new MailAddress[newEmail.toList.Length];                
        for(int i=0;i<this.toList.Length;i++)
        {
            toList[i] = new MailAddress(this.toList[i]);
           
        }        MailMessage message = new MailMessage();
        message.From = from;
        message.Subject = newEmail.Subject;
        message.Body = newEmail.Content;
        for (int i = 0; i < this.toList.Length; i++) message.To.Add(toList[i]);
        message.Priority = MailPriority.High; //设置优先级        SmtpClient client = new SmtpClient("192.168.1.6");
        client.Send(message);
        return true;        
    }    #endregion
}

解决方案 »

  1.   

    做DNS反向解析,并且确认账户/IP没有被添加到黑名单里面。
    确认目标账户真实有效。显然是被当成垃圾邮件了。
      

  2.   

    邮箱设置开启smtp pop3看看
      

  3.   

    谢谢楼上的回答!1:做DNS反向解析,并且确认账户/IP没有被添加到黑名单里面。
       
       这个不知道怎么弄啊,在哪设置啊,我是局域网
      
    2:确认目标账户真实有效。[确定],因为都是我建的(免费)邮箱3:显然是被当成垃圾邮件了。
      
       垃圾邮件应该也能看得到啊,完全看不到
          
      

  4.   


    QQ邮箱有这个设置,其它像tom好像没这个功能啊!
    QQ邮箱我设置开启smtp pop3了,但邮件还是到了“垃圾箱”
      

  5.   

    这与程序无关. 你换个邮箱发吧. 
    比如使用QQ邮箱的SMTP/POP3功能
      

  6.   


    sina 和 google的邮箱可以做发送者 
    接收好像是都可以 只试过 QQ ,sina 和 google 其它的没有搞过
      

  7.   

    //用asp.net发送邮件,测试成功,见:http://hi.baidu.com/gdlpc88/blog/item/d2dfb62cc2310e5a4fc22641.html
    //方法如下:
    //一:用自己的服务器作为邮件服务器时:
    //如出现:邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for ***@gmail.com
    //解决办法如下:在IIS中,右击“默认SMTP虚拟服务器”,选择“属性”,切换到“访问”页,点击“中继”按钮,在弹出框中选择“仅以下列表除外”,确定。
    //二:用其它的邮件服务器发送,经测试大多数免费邮箱都不提供SMTP服务,用qq邮箱的就可以,方法:进入qq邮箱-->设置-->帐户-->开通POP3/IMAP/SMTP服务,即可用smtp.qq.com作为邮件服务器了,可用它来发送邮件using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Net.Mail;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }    public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
        {
            System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;
            client.Send(message);
        }
        //第一个参数是邮箱服务器
        //第二个参数发件人的帐号
        //第三个参数发件人密码
        //第四个参数收件人帐号
        //第五个参数主题
        //第六个参数内容.
        protected void Button1_Click(object sender, EventArgs e)
        {//发送邮件
            try
            {
                //SendSMTPEMail("nz.oicp.net", "[email protected]", "123", "[email protected]", "123", "用asp.net发送邮件,用自己的邮件服务器,测试成功");
                SendSMTPEMail("smtp.qq.com", "[email protected]", "123xxxxxxx", "[email protected]", "123", "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功");        }
            catch (Exception er)
            {
                Label1.Text = er.Message;
            }
        }
    }
      

  8.   

    我是用自己的机器(作为邮件服务器)发啊!我装了IIS(所以就有SMTP虚拟服务器)中继那个地方选择了“仅以下列表除外”
    现在问题是163邮箱和QQ邮箱可以收到,其它邮箱(如:Tom和Sohu邮箱)均收不到!!
      

  9.   

    我调用的代码如下,大家帮忙看下:    /// <summary>
        /// 找回密码
        /// </summary>
        /// <param name="uid">登录账号</param>
        /// <param name="email">注册邮箱</param>
        /// <returns></returns>
        public bool FindPassword(string uid,string email)
        {
            DataParameter[] parms = { 
                new DataParameter("@uid", SqlDbType.VarChar,uid),
                new DataParameter("@email", SqlDbType.VarChar,email),
            };
            string sql = "select * from tb_member where uid=@uid and email=@email";
            DataSet data = DatabaseOper.RunSqlHasDataSet(sql, parms);        if (data == null) return false;        if (data.Tables[0].Rows.Count <= 0) return false;        Email emailobj = new Email();
            emailobj.Content = string.Format("尊敬的用户 {0} 您好!", uid);
            emailobj.Content +=string.Format("  这是您的密码,请牢记:\r\n");
            emailobj.Content += string.Format("[{0}],为了您账户的安全,请查看后立即删除此邮件!\r\n\r\n", data.Tables[0].Rows[0]["pwd"].ToString());
            emailobj.Content +=string.Format("                          未来人才网(www.555job.net)");        emailobj.From = "[email protected]";
            emailobj.Sender = "未来人才网(www.555job.net)";
            emailobj.Subject = "会员找回密码";
            emailobj.ToList = new string[1];
            emailobj.ToList[0] = data.Tables[0].Rows[0]["email"].ToString();        emailobj.Send(emailobj);
            return true;
        }
      

  10.   

    以下是发送者[email protected]
    (注意:本机才是真正的发送者,只是将发送者指向了该邮箱账号)
    收到的邮件:---------------------------------------------------------------------
    这是一个MIME格式的邮件。
    此消息的某些部分可能不可读没有一个MIME功能的电子邮件程序。这是自动生成的传递状态通知。传递到下列收件人失败。       [email protected]
    报告- MTA代码:域名,俞
    收到来自- MTA代码:域名,俞
    抵达日期:周五,2010年3月12日20点12分10秒0800最终收件人:822; [email protected]
    动作:失败
    状态:5.0.0
    诊断码:的SMTP; 553此邮件是由kbas系统阻塞,blockid = cnmx11.tom.com.18465.1268395922和日期= 2010031220