public static void StartSendMail(string mailto,string mailFrom,string subject,string mailBody)
{
MailMessage objMessage=new MailMessage();
objMessage.To="[email protected]";
objMessage.From="[email protected]";
objMessage.Subject="aaaaa";
objMessage.BodyFormat=MailFormat.Html;
objMessage.BodyEncoding=Encoding.GetEncoding("GB2312");
objMessage.Body="bbbbb";
SmtpMail.SmtpServer = "stmp.163.com";
SmtpMail.Send(objMessage);
}
发送不出去,是不是因为像有些网友说的需要用户名和密码呢?我觉得也是,不然岂不是所有人都可以以别人邮箱的名义发送了?那么如何添加用户名和密码呢?似乎是objMessage.Fields.Add("网址","用户名/密码");那么请问这里的网址对于163的邮箱到底输入什么呢?谢谢了。

解决方案 »

  1.   

    代码没有什么问题,不过建议用JMAIL
      

  2.   

    关注
    我最近也是碰到这样的问题,我觉得关键是服务器这么培 ,我的邮件有时能发,又时不能发。
    但是我对添加用户,和密码不明白,这么作程序肯定好多多人用。输入固定的用户,密码应该不对吧
    请二楼讲讲jmail啊,发些资料吧,好多人都推荐用这个
      

  3.   

    If Request("Email") <> Nothing Then
                Dim mailMsg As New MailMessage
                mailMsg.From = Request("Fa")
                mailMsg.To = Request("Email")
                mailMsg.Subject = Request("Title")
                mailMsg.Priority = MailPriority.High
                mailMsg.BodyFormat = MailFormat.Text
                mailMsg.Body = Request("Content") & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "www.GoArena.net" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "挑战人生! |  用心的世界!"
                mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
                mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "[email protected]")
                mailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "xxxxxxx")
                SmtpMail.SmtpServer = "mail.goarena.net"
                SmtpMail.Send(mailMsg)
                Response.Redirect("Default.aspx")
            End If
      

  4.   

    Function SendMailtoMember() As Boolean
            Dim smtpServer As String = "smtp.263xxxxx.com"
            Dim smtpUser As String = "[email protected]"
            Dim smtpPass As String = "xxxxx"        Dim oJmailMessage As New jmail.MessageClass
            oJmailMessage.Charset = "gb2312"
            oJmailMessage.Encoding = "BASE64"
            oJmailMessage.ContentType = "text/html"
            oJmailMessage.ISOEncodeHeaders = False
            oJmailMessage.Priority = Convert.ToByte(1)        oJmailMessage.From = "[email protected]"
            oJmailMessage.FromName = "xxxxxx"
            oJmailMessage.Subject = "新用户注册通知"
            oJmailMessage.AddRecipient("[email protected]")
            oJmailMessage.MailServerUserName = smtpUser
            oJmailMessage.MailServerPassWord = smtpPass
            oJmailMessage.Body = "有新用户注册,请查看!"
            If oJmailMessage.Send(smtpServer, False) Then
                Return True
            Else
                Return False
            End If
            oJmailMessage = Nothing
        End Function
      

  5.   

    谢谢各位,有c#的么?另外,为什么会出现cdo错误的问题,我加了用户名和密码还是不行啊。
      

  6.   

    我也遇到过这样的情况,你应该是没有关上防火墙的缘故吧,你试试看吧,另外stmp.163.com改为smtp。不知道是不是你的笔误了。有时候防火墙会屏蔽掉25端口,这是smtp必须要用的端口。