这个发邮件的程序错在那里了啊中是发不出去啊?
protected void btnSend_Click(object sender, EventArgs e)
{
string From = txtMailFrom.Text;
string To = txtMailTo.Text;
string Subject = txtMailSubject.Text;
string Text = FCKeditor1.Value;
//string Att = fudAtt.PostedFile.FileName;
SendMail(From, To, Subject, Text);
}
private void SendMail(string MailFrom, string MailTo, string MailSubject, string MailText)
{
//直接用SmtpMail发送邮件
try
{
MailMessage MM = new MailMessage(MailFrom, MailTo);
MM.Subject = MailSubject;
MM.Body = MailText;
MM.Attachments.Add(new Attachment(fudAtt.PostedFile.InputStream,fudAtt.FileName));
MM.BodyEncoding = System.Text.Encoding.UTF8;
MM.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Send(MM);
FCKeditor1.Value = " ";
reg.msg( "邮件发送成功 ");
}
catch(Exception ex)
{
reg.msg( "邮件发送失败请重新发送 ");
}
}
是不是这一句非要设置 服务器啊 SmtpClient smtp = new SmtpClient();
我设置成这样 SmtpClient smtp = new SmtpClient( "smtp.163.com ");
还是提示失败啊
谁有个成功的例子贴出来下 谢谢
我在网上找了半天 放在我的代码里面就是运行不了啊 要带附件的 谢谢
[解决办法]
书上的一个例子:
protected void btSubmit_Click(object sender, EventArgs e)
{
//设置MailMessage类的to属性所需的MailAddress
MailAddress toAddress = new MailAddress(this.tbReceiver.Text);
//设置MailMessage类的from属性所需的MailAddress
MailAddress fromAddress = new MailAddress(this.tbSender.Text);
//新建一个MailMessage类实例
MailMessage message = new MailMessage(fromAddress, toAddress);
//设置这个实例的Subject属性
message.Subject = this.tbSubject.Text;
//设置这个实例的Body属性
message.Body = this.tbMessage.Text;
//添加附件
//获得文件
HttpPostedFile postedFile = file.PostedFile;
//当有附件时
if (postedFile.ContentLength != 0)
{
//声明一个Attachment类实例
Attachment data = new Attachment(postedFile.FileName);
message.Attachments.Add(data);
}
//设置正文格式
if (rblFormat.SelectedItem.Text == "纯文本格式 ")
message.IsBodyHtml = false;
else
message.IsBodyHtml = true;
//添加抄送地址
if (this.tbCc.Text != " ")
{
MailAddress ccAddress = new MailAddress(this.tbCc.Text);
message.CC.Add(ccAddress);
}
//添加暗送地址
if (this.tbBcc.Text != " ")
{
MailAddress bccAddress = new MailAddress(this.tbBcc.Text);
message.Bcc.Add(bccAddress);
}
//新建一个SmtpClient类的实例
SmtpClient client = new SmtpClient();
//设置在本机smtp服务器中绑定的ip地址,本例为本机ip地址
client.Host = "159.226.58.89 ";
//smtp端口,默认为25
client.Port = 25;
//发送
client.Send(message);
//发送完毕后提示
Response.Write( " <script language= 'javascript '> alert( '发送成功 ') </script> ");
}
是不是没设置smtp端口的问题
[解决办法]
可能与邮件服务器用关:
LZ用的是smtp.163.com代理服务器的话,可能只能在本网段内发,如:aa@163.com只能发给bb@163.com,不能外发(原因是163的邮箱限制了外包的功能);
LZ可以找个没作限制的邮件服务器(或者建自己的邮件服务器)就不受此限制.
[解决办法]
有接收邮件的完整例子吗~麻烦哪位大侠贴一个出来?