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

asp.net2.0下发送邮件的问题

我在asp.net2.0下发送邮件,代码如下:
        strSmtpServer="sing.com.cn"
        SmtpClient smtp = new SmtpClient(strSmtpServer,25);
        MailAddress myMailFrom = new MailAddress("send@sing.com.cn");
        MailAddress myMailTo = new MailAddress("receive@sing.com.cn");
        MailMessage mail = new MailMessage(myMailFrom, myMailTo);
        mail.Subject = "This is an email";
        mail.Body = "this is the body content of the email.";
        try
        {
            smtp.Send(mail);
            Label1.Text = "ok";
        }
        catch (Exception ee)
        {
            Label1.Text = ee.Message;
        }
        return;
结果老是报错,错误信息为:“邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for receive@sing.com.cn”
但是这个邮箱是存在的呀,是不是我哪里设置的不对,不明白原因,希望各位能给个指教,真诚感谢! --------------------编程问答-------------------- 各位大哥们,帮帮忙啊! --------------------编程问答-------------------- 我昨晚的帖子,怎么今天还没有人应啊!呜呜! --------------------编程问答-------------------- using System.Net.Mail;

SmtpClient mySC = new SmtpClient();
mySC.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
mySC.Host = "smtp.from.com";//指定SMTP服务器
mySC.Credentials = new System.Net.NetworkCredential("myAccount","myPassword");//用户名和密码

MailMessage myMM = new MailMessage("from@from.com","to@to.com");
myMM.Subject = title;//主题
myMM.Body = content;//内容
myMM.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
myMM.IsBodyHtml = true;//设置为HTML格式
myMM.Priority = MailPriority.High;//优先级
try
{
    mySC.Send(myMM);//发送邮件
}
catch (Exception error)
{
    using (StreamWriter sw = new StreamWriter(logPath, true, System.Text.Encoding.UTF8))
    {
        //写入错误日志
        sw.WriteLine(error.ToString());
        sw.Close();
    }



试试这个好使不. --------------------编程问答-------------------- 还是不行啊!
不懂myAccount和myPassword的含义,现把我的配置表述如下:
1.邮件服务器地址为:mail.sing.com.cn
2.服务器的邮箱地址为:receive◎sing.com.cn,用户名为:receive◎sing.com.cn,密码:111
3.对方的邮箱地址为:send1990@tom.com
请问该怎么配啊!我是菜鸟,别笑我啊。
--------------------编程问答-------------------- 也就是说我由send1990@tom.com发信到receive◎sing.com.cn,哪位给指点一下啊! --------------------编程问答-------------------- 我是将配置信息放在 web.config中的
<system.net>
<mailSettings>
<smtp from="web@eice.com.cn">
<network host="mail.eice.com.cn" password="XXXX" port="25"
        userName="web@eice.com.cn" defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
代码是
Imports System.Net.Mail
    Shared Function sendmail(ByVal h As String, ByVal b As String, ByVal email As String) As Boolean
        Dim m_message As MailMessage = New MailMessage()
        m_message.From = New MailAddress("邹健<reg@eice.com.cn>")
        m_message.IsBodyHtml = False
        m_message.BodyEncoding = Encoding.UTF8
        m_message.To.Add(New MailAddress(email))
        m_message.Subject = h
        m_message.Body = b
        Dim m_smtpClient As SmtpClient = New SmtpClient()
        m_smtpClient.Send(m_message)
    End Function

和你的差不多,应该你的代码没什么问题
问题应该是TOM等大网站 一般都有垃圾邮件的防护,所以你最好在WEB程序本机上有一个邮件服务器 --------------------编程问答-------------------- 现在邮件服务器 一般发信的时候也要求 验证一下 来防止垃圾邮件  所以  那里要写你的 邮箱帐号和密码 --------------------编程问答-------------------- mySC.Credentials = new System.Net.NetworkCredential("receive@sing.com.cn","111");//这是你自己的信箱
MailMessage myMM = new MailMessage("receive@sing.com.cn","send1990@tom.com");
//注意发邮件的时候把防火墙关了,要不可能发送不成功! --------------------编程问答-------------------- str SmtpServer= "smtp.sing.com.cn ";
首先语法上str后空格,句后的引号。不过这估计是贴出时的错误。主要是发送服务器名称写法错误。
一般发送邮件都用的是smtp服务器,一般服务器名前都有“smtp.”这个前缀。我用的126,写法是:Dim myclient As SmtpClient = New SmtpClient("smtp.126.com"),转为c#应是SmtpClient myclient=New SmtpClient("smtp.126.com");
--------------------编程问答-------------------- m_smtpClient= new SmtpClient();
m_smtpClient.Host = .....
m_smtpClient.UseDefaultCredentials = false;
m_smtpClient.Credentials = new NetworkCredential();
m_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
m_smtpClient.Send(message);
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,