目录
1 CDO组件使用常见问题
问题一:
为什么我引用CDO类时提示出错?
using CDO; 找不到类型或命名空间名称"CDO"(是否缺少using指令或程序集引用?)
答案1:
先在你的项目中添加引用,然后再在代码里使用using CDO。
问题二:
发送Email时,为什么出现"未能访问CDO.Message"的异常?
答案1:
没有权限:
具体看http://blog.joycode.com/ghj/archive/2004/02/17/13197.aspx
答案2:
System.Web.Mail FAQ 这里提供了另外6种情况,我就不转贴了,参照http://www.systemwebmail.com/faq/4.2.3.aspx
答案3:
你装了杀毒软件,或者防火墙,
以McAfee VirusScan Enterprise 8.0 为例,在端口限制中,默认限制了除 amgrsrvc.exe,tomcat.exe,outlook.exe,msimn.exe,agent.exe,eudora.exe,nlnotes.exe,mozilla.exe,netscp.exe,
opera.exe,pine.exe,poco.exe,thebat.exe,thunderbird.exe,ntaskldr.exe,inetinfo.exe,nsmtp.exe,nrouter.exe,
tomcat5.exe,tomcat5w.exe,ebs.exe,FireSvc.exe,modulewrapper.exe,MSKSrvr.exe,MSKDetct.exe 这些程序外对 25 端口的请求。 而25端口是SMTP 用的。这时候就会报 未能访问"CDO.Message"对象 对象错误;只要把你的程序名放到例外名单中,即可绕过这个限制。如下图:
答案4:
你的Mail服务器性能不太好,经常超时,或其他错误,也会报:未能访问"CDO.Message"对象 的错误。
问题三:
测试服务器支持cdo.message,而且也显示发送成功!
可是就是收不到邮件,为什么?
答案1:
SMTP服务器有问题,更换一个试试,如(smtp.126,com)。
答案2:
检查你登陆smtp服务器的用户名和密码是否正确。
答案3:
换多个接收邮箱试试,很多是屏蔽群发的。
2 JMail组件使用常见问题
问题一:
JMAIL的最新版本是多少?
答案1:
最新的应该是w3 Jmail 4.5
问题二:
JMAIL 需要单独的发信服务器吗?
答案1:
JMAIL 需要设置单独的发信服务器 。如"smtp.126.com"
问题三:
为什么使用jmail发信时发信失败?
答案1:
最可能的原因是你指定的发信服务器需要发信认证,而你在程序中没有指定发信用户名和密码。
问题四:
Jmail 能发送附件吗?
答案1:
可以
message.Attachments.Add("附件地址");
3 其他常见问题
问题一:
什么是SMTP?
答案1:
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。
问题二:
如何添加多个附件?
答案1:
for(int i=0;i<附件数量;i++)
mailmsg.Attachments.Add(new MailAttachment(this.attachments[i].ToString()));
问题二:
如何用代码创建文件夹?
答案1:
System.IO.Directory.CreateDirectory("文件夹路径");
问题三:
答案1:
Server.MapPath("/")应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
答案2:
Server.MapPath("./") 表示所在页面的当前目录
注:等价于Server.MapPath("") 返回 Server.MapPath("")所在页面的物理文件路径
答案3:
Server.MapPath("../")表示上一级目录
答案4:
Server.MapPath("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\
注:等效于Server.MapPath("~")。
问题四:
如何上传文件?
答案1:
上传按钮代码如下:
private void upFileBtn_Click(object sender, System.EventArgs e)
{
if(this.UpFiles.PostedFile.ContentLength==0)
Label1.Text="上传文件不成功或者发生错误";
else
{
//获取上传文件名
string temp=this.UpFiles.PostedFile.FileName;
int intT=temp.LastIndexOf("\\");
temp=temp.Substring(intT+1);
//保存文件
this.UpFiles.PostedFile.SaveAs(Server.MapPath(".")+"\\Files\\"+temp);
Label1.Text="文件上传成功!上传文件名"+temp;
}
}