2017-05-25 70 views
1

我使用的Visual Studio 2017年Visual Basic Web窗体。当我点击提交时,没有任何反应。没有电子邮件发送。我怎么知道出了什么问题?

  • 双重检查凭据
  • 使用print.debug从here
  • 试图尝试打印到像this另一个文件说做 不知道怎么回事弄清楚代码为什么不起作用。

    <%@ Page Language="VB" aspcompat=true Debug="true" %> 
    <!DOCTYPE html> 
    
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
        <title></title> 
    </head> 
    <body> 
        <form id="form1" runat="server"> 
         <div><p>From:&nbsp;<asp:TextBox ID="txtFromAdress" runat="server" Columns="35"></asp:TextBox></p> 
          <p>Subject:&nbsp;<asp:TextBox ID="txtSubject" runat="server" Columns="50"></asp:TextBox></p> 
          <p>Message:&nbsp;<asp:TextBox ID="txtBody" runat="server" Columns="76" TextMode="multiLine" Rows="6"></asp:TextBox></p> 
         <p><asp:Button ID="btnSend" runat="server" Text="Send Mail" /></p> 
         </div> 
        </form> 
    Debug.print txtFromAdress 
    Debug.print txtSubject 
    Debug.print txtBody 
    </body> 
    </html> 
    

这里是后面的代码:

<%@ Page Language="VB" aspcompat=true Debug="true" %> 

Imports System.Net.Mail 

Public Class WebForm1 

    Inherits System.Web.UI.Page 


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub btnSend_Click(sender As Object, e As EventArgs) Handles btnSend.Click 
     Dim mail As New MailMessage() 
     mail.From = New MailAddress(txtFromAdress.Text.Trim) 
     mail.To.Add("[email protected]") 
     mail.Subject = txtSubject.Text.Trim() 
     mail.Body = txtBody.Text.Trim() 
     Debug.print mail 
     Dim SmtpClient As New SmtpClient("smtp.office365.com") 
     SmtpClient.UseDefaultCredentials = False 
     SmtpClient.EnableSsl = True 
     SmtpClient.Port = 587 
     SmtpClient.Credentials = New Net.NetworkCredential("[email protected]", "pword") 
     n = FreeFile() 
Open "root/test.txt" For Output As #n 
Print #n, mail 
     Try 
      SmtpClient.Send(mail) 
     Catch ex As Exception 
      MsgBox(Err.Number & vbNewLine & ex.Message) 
     End Try 
+0

删除aspcompat = true并再次尝试 –

+0

这样做,但仍然没有发生。 – badapaqadadap

回答

1

打开命令提示符,运行以下命令:

telnet smtp.office365.com 587 

有什么反应?如果它产生所需的结果,那么下载一个像Wireshark这样的工具,以便分析请求和响应。

+0

'telnet'不被识别为内部或外部命令, 可操作的程序或批处理文件。 – badapaqadadap

+0

按照以下说明确保安装Telnet:https://kb.ctera.com/article/how-to-open-a-telnet-session-on-windows-7-or-windows-8-os-16 html的。一旦安装,让我知道结果。 – w0051977

+0

我跟我的部门谈过。他们说它应该按原样工作,并建议我尝试用c#来做。所以我放弃了这个尝试。感谢您的帮助。 – badapaqadadap

相关问题