用尽可用分-----发邮件的问题!

Kshape 2005-05-14 02:49:16
1,请问用ASP.NET怎样发邮件,我用CDO来做,老是有问题!
我的代码如下:
---------
MailMessage ms = new MailMessage();

ms.From = this.TextBoxTxt1.Text;
ms.To = this.TextBoxTxt2.Text;;
ms.Subject = this.TextBoxTxt3.Text;
ms.Body = this.ContentBoxTxt.Text;
ms.BodyFormat = MailFormat.Text;
ms.Priority = MailPriority.Normal;
try
{
SmtpMail.Send(ms);
}
catch(Exception _e)
{
}
---------
以上程序老是报:未能访问“CDO.Message”对象
我已经把cdosys.dll复制到bin目录下
并且已经using cdo
请大家帮忙看看是哪里设置不对么?
大家有什么好的发邮件的程序也照样给分!
---------
再问一下:
这样发送邮件的时候系统会检查邮件的正确性么(不管是发件人还是收件人的地址)?
如果不检查,那么自己怎样来判断邮件地址是否合法了,听说可以用正则表达式,但是怎么写呢?


谢谢!
问题多了一点,还希望大家帮忙:)
...全文
200 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kshape 2005-05-15
  • 打赏
  • 举报
回复
大家给个发邮件的解决方案好么?
Kshape 2005-05-14
  • 打赏
  • 举报
回复
还要怎样配置那个啊?
mba9001 2005-05-14
  • 打赏
  • 举报
回复
你的mail服务器是哪的,要不要验证?
Kshape 2005-05-14
  • 打赏
  • 举报
回复
现在正则表达式可以了
但是发送邮件依然有问题
大家帮忙啊
Kshape 2005-05-14
  • 打赏
  • 举报
回复
NulltoString(
怎么说找不到???
Kshape 2005-05-14
  • 打赏
  • 举报
回复
orcale()
--------
我是进行了引用的!
是不是在“解决方案”那里点“引用”,然后“添加引用”?
它也生成了一个DLL,Interop.CDO.DLL
kandyasp 2005-05-14
  • 打赏
  • 举报
回复
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "Some text goes here";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "my_username_here"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "super_secret"); //set your password here

SmtpMail.SmtpServer = "mail.mycompany.com"; //your real server goes here
SmtpMail.Send( mail );
viyo 2005-05-14
  • 打赏
  • 举报
回复
我以前用Jmail邮件代理实现过发邮件,很简单。
CDO.dll是.net程序集吗,是否应该先注册。

C#验证邮件的正则表达式的代码【转】
验证输入的正确性

public static bool isEmail(string inputEmail)
{
inputEmail = NulltoString(inputEmail);
string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
Regex re = new Regex(strRegex);
if (re.IsMatch(inputEmail))
return (true);
else
return (false);
}

验证邮件地址的正确性:

string[] host = (address.Split(@));
string hostname = host[1];

IPHostEntry IPhst = Dns.Resolve(hostname);
IPEndPoint endPt = new IPEndPoint(IPhst.AddressList[0], 25);
Socket s= new Socket(endPt.AddressFamily, SocketType.Stream,ProtocolType.Tcp);
s.Connect(endPt);

//Attempting to connect
if(!Check_Response(s, SMTPResponse.CONNECT_SUCCESS))
{
s.Close();
return false;
}

//HELO server
Senddata(s, string.Format("HELO {0}\r\n", Dns.GetHostName() ));
if(!Check_Response(s, SMTPResponse.GENERIC_SUCCESS))
{
s.Close();
return false;
}

//Identify yourself
//Servers may resolve your domain and check whether you are listed in BlackLists etc.
Senddata(s, string.Format("MAIL From: {0}\r\n","testexample@deepak.portland.co.uk"));
if(!Check_Response(s, SMTPResponse.GENERIC_SUCCESS))
{

s.Close();
return false;
}


//Attempt Delivery (I can use VRFY, but most SMTP servers only disable it for security reasons)
Senddata(s, address);
if(!Check_Response(s, SMTPResponse.GENERIC_SUCCESS))
{

s.Close();
return false;
}
return (true);
orcale 2005-05-14
  • 打赏
  • 举报
回复
不用把cdo copy到bin目錄下.你隻要對dll進行引用後.會自己生成一個托管的cdo dll存放在dll下面。我就是用這個發郵件沒有發現問題
表達式參考:http://www.regexlib.com/REDetails.aspx?regexp_id=735

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧