无法在 asp.net vb 网站中发送电子邮件
Posted
技术标签:
【中文标题】无法在 asp.net vb 网站中发送电子邮件【英文标题】:can't send email in asp.net vb website 【发布时间】:2017-04-28 16:20:13 【问题描述】:当我填写联系表格时,页面会重新加载,并且没有邮件发送到接收者的电子邮件。
但我还希望当用户按下发送按钮并将一封电子邮件发送给接收者时,会弹出一个消息框,其中包含如下文本:“副本已发送到您的电子邮件”
背后的 ASP.NET vb 代码
进口系统.Net 导入 System.Net.Mail Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As EventArgs) 将邮件暗淡为 MailMessage = New MailMessage() 将 Smtp 调暗为新的 SmtpClient() 将 SmtpUser 调暗为新 System.Net.NetworkCredential() Message.From = New MailAddress("sender@domain.be", "Van voorbeeld") Message.To.Add(New MailAddress("receiver@domain.be", "Naar voorbeeld")) Message.IsBodyhtml = False Message.Subject = "Nefsani 联系表" Message.Body = "电子邮件:" & Qemail.Text & Environment.NewLine & "电话:" & QTel.Text & Environment.NewLine & "问题:" & Qmessage.Text SmtpUser.UserName = "发件人@domain.be" SmtpUser.Password = "密码" Smtp.UseDefaultCredentials = False Smtp.Credentials = SmtpUser Smtp.Host = "smtp.mijnhostingpartner.nl" Smtp.DeliveryMethod = SmtpDeliveryMethod.Network Smtp.Send(消息) 结束子aspx 文件中的代码
<div class="col-md-3 col-sm-6 footer-widget">
<h4>Contacteer mij</h4>
<ul>
<asp:TextBox ID="QFullname" class="form-control" placeholder="Naam + Voornaam" runat="server"></asp:TextBox><br >
<asp:TextBox ID="QTel" class="form-control" placeholder="Telefoonnummer" runat="server"></asp:TextBox> <br >
<asp:TextBox ID="Qemail" class="form-control" placeholder="Email adres" runat="server"></asp:TextBox> <br >
</ul>
</div>
<div class="col-md-3 col-sm-6 footer-widget">
<div class="contact-footer">
<ul>
<asp:TextBox style="margin-top:52px" id="Qmessage" class="form-control" rows="4" TextMode="multiline" placeholder="Schrijf hier uw bericht." runat="server" />
<br><br/>
<asp:Button ID="btnSend" style="margin-top:-40px" class="btn btn-primary" runat="server" Text="Verzend" />
<asp:Label id="lblMessage" runat="server"></asp:Label>
</ul>
</div>`enter code here`
</div>
【问题讨论】:
【参考方案1】:您一无所获的原因是您的按钮未绑定到您的点击功能。您要么必须向按钮添加 onclick,要么必须向函数添加句柄事件。
<asp:Button ID="btnSend" style="margin-top:-40px" class="btn btn-primary" runat="server" Text="Verzend" onclick="btnSend_Click" />
或
Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As EventArgs) handles btnSend.Click
至于在点击处理程序底部显示消息:
lblMessage.Text = "a copy was sended to your email"
【讨论】:
所以我实际上只需要添加 onclick="btnSend_Click" 就可以了? 我同时使用这两种方法时出现错误。翻译成英文:连接尝试失败,因为连接方在一定时间后没有正确响应,或者连接连接失败,因为连接的主机没有响应“here come an IP”,并且在它下面 Smtp.Host = "smtp. mijnhostingpartner.nl" Regel 35: Smtp.DeliveryMethod = SmtpDeliveryMethod.Network Regel 36: Smtp.Send(Message) Regel 37: End Sub 错误出现在 regel 36 该错误意味着您尝试使用的 smtp 服务器不允许您使用它。 好的,谢谢你的帮助,你真的帮了我。以上是关于无法在 asp.net vb 网站中发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
在asp.net mvc 3中的后台作业/计划任务中发送电子邮件