我向用户邮箱发送邮件,邮件内容带有一个激活链接地址比如:www.dddd.com/test.aspx?id=1305433556  后面ID产生的数字就是随机数。在我本机测试功能完全成功。但是发布到IIS之后邮件依然能发送。但是邮件内容的链接地址 变成了www.dddd.com/test.aspx 没有随机数字的产生。谁能告诉我为什么啊??

解决方案 »

  1.   

            public static void SendEmail(string toMail,UserInfo ui, string serviceLink)
            {
                try
                {
                    string fromMail = ConfigurationManager.AppSettings["fromMail"].ToString();
                    string fromMailPass = ConfigurationManager.AppSettings["Password"].ToString();
                    string title = ConfigurationManager.AppSettings["title"].ToString();
                    //指定发送邮件的服务器地址或IP
                    string host = ConfigurationManager.AppSettings["host"].ToString();
                    //指定发送邮件端口
                    int port =Convert.ToInt32(ConfigurationManager.AppSettings["port"].ToString());                //验证成功向用户邮箱发送邮件
                    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(fromMail, toMail);
                    //邮件标题
                    message.Subject = title;
                    //邮件内容
                    message.Body = "杰杰服务系统已经批准您的申请消息,请在规定时间范围内修改您的信息。<br>有效日期:"+ei.EffectiveTime+"<br><a href='" + serviceLink + "'>" + serviceLink + "</a> <br>注意:如果链接无效 请在地址栏中输入连接!";
                    //是否为html格式
                    message.IsBodyHtml = true;    
                    //发送邮件的优先等级           
                    message.Priority = System.Net.Mail.MailPriority.High;  
                    //简单传输协议
                    System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
                    sc.EnableSsl = true;
                    sc.Host = host;              
                    sc.Port = port;                           
                    sc.Credentials = new System.Net.NetworkCredential(fromMail, fromMailPass); //指定登录服务器的用户名和密码
                    sc.Send(message);       //发送邮件
                }
                catch (Exception ex)
                {
                    string errorMessage = ex.Message;
                }
            }
       /// <summary>
            /// 邮件表中插入数据
            /// </summary>
            /// <param name="ui"></param>
            public static string InsertEmail(UserInfo ui)
            {
                string serviceLike = ConfigurationManager.AppSettings["address"].ToString()+"UserPWServices.aspx";
                try
                {
                    
                    GetDataServiceClient s = new GetDataServiceClient();
                    ei.UserID = ui.UserID;
                    //生成随机验证数
                    System.Random ra = new Random();
                    ei.VidateCode =(ra.Next(100000000,999999999)).ToString();
                    System.DateTime dt = System.DateTime.Now;
                    int days = Convert.ToInt32(ConfigurationManager.AppSettings["EffectivaDays"]);
                    ei.EffectiveTime = System.DateTime.Now.AddDays(days).ToString();
                    s.InsertMail(ei);
                    serviceLike = serviceLike+"?id=" + ei.UserID + "&vidateCode="+ei.VidateCode;
                }
                catch (Exception ex)
                {
                    string strMessage = ex.Message;
                }
                return serviceLike;
            }
        }我这主要代码 我感觉是服务设置问题 不太像是代码问题
      

  2.   

    www.dddd.com/test.aspx?id=1305433556
    你复制出来的 没有什么 检查 检查你的书写方式吧。
      

  3.   

    代码有问题的话,为什么我在本地发送邮件有?id=随机数
    发布到IIS上却没有?