发送邮件代码:
private void btnSend_Click(object sender, System.EventArgs e)
{
string strFileName=file.PostedFile.FileName;//附件路径和文件名

jmail.Message jmail=new jmail.Message();    //建立发邮件对象
jmail.Silent=true;     //Silent属性:如果设置为true,JMail不会抛出例外错误.
jmail.Logging=true;    //Jmail创建的日志,前提loging属性设置为true
jmail.Charset="GB2312";   //字符集,缺省为"US-ASCII" //jmail.ContentType="text/html";    //以HTML格式发送邮件,
jmail.From= this.txtSend.Text;    //发件人

jmail.Encoding = "Base64";
jmail.ISOEncodeHeaders = true;
jmail.ContentTransferEncoding = "base64";
jmail.AddRecipient(this.txtReceive.Text,"","");//加入一个收件人
jmail.MailServerUserName=this.txtUserName .Text;//发件人邮件用户名
jmail.MailServerPassWord=this.txtPassWord.Text;//发件人邮件密码
jmail.Subject= this.subject.Text;//设置邮件标题
//jmail.HTMLBody=this.txtContent.Text;
jmail.Body = this.txtContent.Text;//邮件内容 jmail.AddAttachment(strFileName,true,null);//指定附件文件
if(jmail.Send(“smtp.163.com”,false))//发送邮件
{
Response.Write("恭喜您,发送邮件成功!");
}
else
{
Response.Write("发送邮件失败!");
} jmail.Close();//发邮件对象关闭
}
那么我用163的油箱可以发送成功,但是如果将“smtp.163.com”改为"smtp.yahoo.com.cn"用yahoo信箱就发送失败。这是为什么啊????

解决方案 »

  1.   

    呵呵,雅虎不支持smtp,你怎么刚好选中了雅虎...
      

  2.   

    我还有个问题,在上面的代码中屏蔽掉jmail.AddAttachment(strFileName,true,null);才会通过否则环境会提示“不能打开文件”这是什么问题啊?????
      

  3.   

    1)雅虎支持什么服务,楼主去Baidu查下。
    2)jmail.AddAttachment(strFileName,true,"");
      

  4.   

    同一个SMTP服务器的可以,可以直接:
    jmail.AddRecipient(this.txtReceive.Text,"","");//加入不同的SMTP服务器,按SMTP服务器逐批发送。