//在reference中添加CDO for Windows 2000
using CDO;
public void SendEmail()
{
try
{
Configuration conf=new ConfigurationClass();
conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;
conf.Fields[CdoConfiguration.cdoSMTPServer].Value="smtp.netease.com";
conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="hydnoahark";
conf.Fields[CdoConfiguration.cdoSendUserReplyEmailAddress].Value="\"hydnoahark\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="\"hydnoahark\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value=CdoProtocolsAuthentication.cdoBasic;
conf.Fields[CdoConfiguration.cdoSendUserName].Value="hydnoahark";
conf.Fields[CdoConfiguration.cdoSendPassword].Value="xxx";
conf.Fields.Update();
MessageClass msg=new MessageClass();
msg.Configuration=conf;
msg.To="[email protected]";
msg.Subject="Hello";
msg.TextBody="It's test";
msg.From="[email protected]";
msg.Send();
}
catch(System.Runtime.InteropServices.COMException e)
{
MessageBox.Show(e.ToString());
}
return;
}
using CDO;
public void SendEmail()
{
try
{
Configuration conf=new ConfigurationClass();
conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;
conf.Fields[CdoConfiguration.cdoSMTPServer].Value="smtp.netease.com";
conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="hydnoahark";
conf.Fields[CdoConfiguration.cdoSendUserReplyEmailAddress].Value="\"hydnoahark\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="\"hydnoahark\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value=CdoProtocolsAuthentication.cdoBasic;
conf.Fields[CdoConfiguration.cdoSendUserName].Value="hydnoahark";
conf.Fields[CdoConfiguration.cdoSendPassword].Value="xxx";
conf.Fields.Update();
MessageClass msg=new MessageClass();
msg.Configuration=conf;
msg.To="[email protected]";
msg.Subject="Hello";
msg.TextBody="It's test";
msg.From="[email protected]";
msg.Send();
}
catch(System.Runtime.InteropServices.COMException e)
{
MessageBox.Show(e.ToString());
}
return;
}
解决方案 »
- 我一回帖就出现这个错误
- Gridview列的问题(在线等 立刻给分本菜鸟就30分了)
- [征集] 电子商务站点的用户权限设计(ASP.NET/成员资格与角色)讨论
- 为什么这段程序不执行?
- F:\Inetpub\wwwroot\patrolSystem\licenses.licx 未能将许可证文件“licenses.licx”转换为二进制资源。(1) : error LC0004 : Exception
- 100分求!用Web Services如何做web聊天室?
- 急。请教ASP C#中GridView出现的问题,谢谢各位大大
- 关于vs快捷键的问题,谢谢
- vs.net无法新建项目了,以前的项目也打不开了,IIS上的站点也启动了,不知怎么搞的?
- 为什么我的asp.net程序,只能用英文,一用中文就出现乱码??
- IIS占用内存问题
- 急急急!!用模板列来删除数据搞不惦??????
我是用本地的STMP服务器发的呀!
打不开
using System.Web.Mail;
using CDO;
namespace Greystar.Base.Office
{
/// <summary>
/// Email 的摘要说明。
/// </summary>
public class Email
{
public Email()
{
//
// TODO: 在此处添加构造函数逻辑
//
} #region SendEmailValidate (string Emailfrom,string Emailto,string subject,string mailbody)
/// <summary>
/// 要求有帐号
/// </summary>
/// <param name="Emailfrom"></param>
/// <param name="Emailto"></param>
/// <param name="subject"></param>
/// <param name="mailbody"></param>
public void SendEmailValidate (string Emailfrom,string Emailto,string subject,string mailbody)
{
string ErrString="";
try
{
Configuration conf=new Configuration();
//以下部分设置参数(服务器,端号,用户名,密码,发送邮件帐号,回复邮箱帐号)
conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;
conf.Fields[CdoConfiguration.cdoSMTPServer].Value="server-mail";
conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="greystar";
conf.Fields[CdoConfiguration.cdoSendUserReplyEmailAddress].Value="\"greystar\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="\"greystar\" <[email protected]>";
conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value=CdoProtocolsAuthentication.cdoBasic;
conf.Fields[CdoConfiguration.cdoSendUserName].Value="greystar";
conf.Fields[CdoConfiguration.cdoSendPassword].Value="liaoliao";
conf.Fields.Update();
MessageClass msg=new MessageClass(); msg.Configuration=conf;
msg.To=Emailto;
msg.Subject= subject;
msg.HTMLBody=mailbody;
msg.From=Emailfrom; msg.Send();
ErrString="确认成功";
}
catch(System.Runtime.InteropServices.COMException Ee)
{
ErrString=Ee.Message;
throw new Exception(ErrString);
}
}
#endregion #region SendMail(string MailFrom,string MailTo,string MailSubject,string MailBody,string MailServer )
/// <summary>
/// 匿名访问
/// </summary>
/// <param name="MailFrom"></param>
/// <param name="MailTo"></param>
/// <param name="MailSubject"></param>
/// <param name="MailBody"></param>
/// <param name="MailServer"></param>
public void SendMail(string MailFrom,string MailTo,string MailSubject,string MailBody,string MailServer ) { MailMessage Msg = new MailMessage(); Msg.To = MailTo; Msg.Subject = MailSubject; Msg.Body = MailBody; Msg.From =MailFrom; SmtpMail.SmtpServer=MailServer; SmtpMail.Send(Msg); return; }
#endregion
}
}
------------------------------------
我是用Win2000 OS 我也觉得不是代码的问题,因为我用CDO或其它下载的组件结果都有一样--
邮件都写好了,就是在C:\Inetpub\mailroot\Queue下待发,用你那种方法好像还是不行!
然后SmtpMail.Send(mail);