System.Web.Mail.MailMessage mailObj = new System.Web.Mail.MailMessage();mailObj.To = "[email protected]";
mailObj.From = "[email protected]";mailObj.Subject = m_Subject;mailObj.Body = "<b>test</b>";
mailObj.BodyFormat = System.Web.Mail.MailFormat.Html;
mailObj.BodyEncoding = System.Text.Encoding.UTF8;//System.Web.Mail.SmtpMail.SmtpServer = "192.168.2.46";
System.Web.Mail.SmtpMail.Send(mailObj);==============
执行没有出错,但收不到邮件,加上本机IP地址也不行,
如加SmtpServer换成其它服务器如 smtp.21cn.com 在加上认证就没问题,为什么用本机smtp就不行呢?是不是跟网络有关,我是在局域网里的。没有直接公网IP

解决方案 »

  1.   

    需要指定smtp.SmtpServer = 127.0.0.1
    然后确认本地虚拟smtp服务已经启动,还有相关权限的设置,配置好了再试
      

  2.   

    System.Web.Mail.MailMessage mailObj = new System.Web.Mail.MailMessage();mailObj.To = "[email protected]";
    mailObj.From = "[email protected]";mailObj.Subject = m_Subject;mailObj.Body = "<b>test</b>";
    mailObj.BodyFormat = System.Web.Mail.MailFormat.Html;
    mailObj.BodyEncoding = System.Text.Encoding.UTF8;System.Web.Mail.SmtpMail.SmtpServer = "127.0.0.1";
    System.Web.Mail.SmtpMail.Send(mailObj);用本机作为SMTP有些时候可能收不到邮件,因为邮箱可能会把这个邮件当作垃圾邮件,所以SMTP服务器尽量选择一些网站的SMTP
    例如SMTP.163.com
      

  3.   

    to 
     jimh(jimmy) 
    请问权限设置该怎么设置呢?
    能详细点吗?
      

  4.   

    如果是权限问题.给上jmail组件的.dll文件 IUSR_用户名可读取运行权限就行JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    if Request.Form("smtpPW") = "1" then '判断服务器是否需要身份验证
    ' 身份验证
    JMail.MailServerUserName = FromUserID
    ' 身份验证的用户名
    JMail.MailServerPassword = FromUserIDPW
    ' 身份验证的密码
    end if如果要身分验证(注:上述是asp代码)