为什么我的邮件发送不出去????100

loveyun9807 2003-08-22 02:37:22
源代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim obj As MailMessage
Dim objattach As MailAttachment
Dim filename As String
obj = New MailMessage()
obj.To = TextBox1.Text
obj.From = TextBox2.Text
obj.Subject = TextBox3.Text
obj.Body = TextBox4.Text
obj.Priority = MailPriority.High
filename = p.Value
If Not IsDBNull(filename) And filename <> "" Then
objattach = New MailAttachment(filename)
obj.Attachments.Add(objattach)
End If
SmtpMail.Send(obj)
Response.Write("Send Success!")
End Sub

邮件被发到本机C:\Inetpub\mailroot\Queue目录下
...全文
126 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ArLi2003 2003-08-28
  • 打赏
  • 举报
回复
倒分嫌疑
loveyun9807 2003-08-28
  • 打赏
  • 举报
回复
to: tangdejun(满江雪)

在“用户名”和“密码”中输入能够通过邮件服务器验证的用户名和密码

哪个邮件服务器呀???

我的机器是局域网中的一台,不是服务器,我们的服务器是通过ADSL拨号上网的

其他机器通过Sygate与这个服务器相连上网的
ArLi2003 2003-08-27
  • 打赏
  • 举报
回复
SmtpMail.SmtpServer = System.Net.Dns.GetHostName();
SmtpMail.Send(obj)
dawave 2003-08-27
  • 打赏
  • 举报
回复
再仔细查,一般就是这个设置,如果不行记得reboot你的机器,最后,邮件不是设置好后马上就发出去的,要等几分钟。
tangdejun 2003-08-27
  • 打赏
  • 举报
回复
我们公司的邮件系统需要认证才能发出去,用cdo已经实现,但总觉得有些麻烦,验证用户名和密码要写在程序中,研究一下,发现可以这样设置用本机就可以发出去,不用再使用cdo,用MailMessage就可以。


打开你的IIS manager,选择SMTP的属性,打开“传递”选项卡,点击底下的“出站安全”,选中“基本身份验证”,在“用户名”和“密码”中输入能够通过邮件服务器验证的用户名和密码,然后“确定”“应用”,“确定”,就ok了。

对于WEB服务器在局域网中,邮件服务器有验证的用户,这样做就好多了,程序写起来省事好多,更加通用,改密码不用每次都编译了。
loveyun9807 2003-08-26
  • 打赏
  • 举报
回复
to: dawave() 还是发送不出去
dawave 2003-08-26
  • 打赏
  • 举报
回复
这样的问题已经多次出现了,估计这次又是同样的情况。

打开你的IIS manager,选择SMTP的属性,选择access,选择里面的最后一个按钮 Relay, 选择all except the list below,然后一路ok,一两分钟后,邮件就开始工作了。

建议弄一个faq,把这些问题收集一下。
goody9807 2003-08-25
  • 打赏
  • 举报
回复
up
wacle 2003-08-22
  • 打赏
  • 举报
回复
因为你的邮件不支持验证,用的是UDP协议,这样的话,绝大部分的接收端不支持的,你需要用支持验证的技术CDO.
下面是我写的一个,你看看:
Using CDO;

onfiguration conf=new ConfigurationClass();
conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value
=CdoSendUsing.cdoSendUsingPort;
conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="xxx@xxx.com";
conf.Fields[CdoConfiguration.cdoSendPassword].Value="******";
conf.Fields[CdoConfiguration.cdoSMTPServer].Value="smtp.xxx.xxx";
conf.Fields[CdoConfiguration.cdoSendUserName].Value="xxx@xxx.com";
//发送者名称,这一项要注意检查,不可以乱写
conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value
=CdoProtocolsAuthentication.cdoBasic;
conf.Fields.Update();

MessageClass mail=new MessageClass();
mail.TextBody=txtBody.Text;
mail.Configuration=conf;
mail.To=txtRcv.Text;
mail.From="xxx@xxx.com";
mail.Subject=txtTitle.Text;
mail.CC=txtCC.Text;
mail.BCC=txtBCC.Text;
string strPath=Cache["Path"].ToString();
mail.AddAttachment(strPath,"wacle","storm");//添加附件功能
try
{
mail.Send();
Response.Write("<script language='javascript'>alert('邮件发送成功')</script>");
}
catch
{
Response.Write("<script language='javascript'>alert('邮件发送失败')</script>");
}
guoyan19811021 2003-08-22
  • 打赏
  • 举报
回复
或:
Dim obj As MailMessage
obj = New MailMessage()
obj.To = tbTo.Text
obj.From = tbFrom.Text
obj.Subject = tbSubject.Text
obj.Body = tbMsgText.Text
obj.Priority = MailPriority.High
SmtpMail.Send(obj)
guoyan19811021 2003-08-22
  • 打赏
  • 举报
回复
看情况吧
大约2-3分
loveyun9807 2003-08-22
  • 打赏
  • 举报
回复
up
loveyun9807 2003-08-22
  • 打赏
  • 举报
回复
to :guoyan19811021(吉祥)

确定SMTP服务器已启动,还是不行

你发信成功需要多长时间?
guoyan19811021 2003-08-22
  • 打赏
  • 举报
回复
private void EmailSend()
{

System.Web.Mail.MailMessage myEmail=new MailMessage();
myEmail.From=this.TextBox1.Text;//你的邮箱地址!!可以使用假地址
myEmail.To=this.TextBox2.Text;//destination 如果要发送给多人,用逗好分开每个地址
myEmail.Cc=this.TextBox3.Text;//抄送 如果要发送给多人,用逗好分开每个地址
myEmail.Bcc=this.TextBox4.Text;//密送 如果要发送给多人,用逗好分开每个地址
myEmail.Subject=this.TextBox5.Text;//Email Subject
myEmail.Body=this.TextBox6.Text;//the body of mail
myEmail.Priority=System.Web.Mail.MailPriority.High;//mail's priority
myEmail.BodyFormat=MailFormat.Text;//mail body format
System.Web.Mail.SmtpMail.SmtpServer="";//default mail server
string strEmailFile=this.EmailfileBrowser.Value.ToString();//this.EmailfileBrowser.PostedFile.FileName;
if(strEmailFile!="")
myEmail.Attachments.Add(new MailAttachment(strEmailFile));
System.Web.Mail.SmtpMail.Send(myEmail);
}
or:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim obj As MailMessage
Dim objattach As MailAttachment
Dim filename As String
obj = New MailMessage()
obj.To = TextBox1.Text
obj.From = TextBox2.Text
obj.Subject = TextBox3.Text
obj.Body = TextBox4.Text
obj.Priority = MailPriority.High
filename = p.Value
If Not IsDBNull(filename) And filename <> "" Then
objattach = New MailAttachment(filename)
obj.Attachments.Add(objattach)
End If
SmtpMail.Send(obj)
Response.Write("Send Success!")
End Sub

确定SMTP服务器已启动
raingod 2003-08-22
  • 打赏
  • 举报
回复
up
goody9807 2003-08-22
  • 打赏
  • 举报
回复
你的Smtp Service 启动了吗

62,046

社区成员

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

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

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

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