在asp.net中發送電子郵件我很難弄清楚如何通過我的asp.net網站,通過UKFasts雲共享VPS上的註冊/在線域發送電子郵件。如何通過代碼
我的網站和域名由UKFast在其Cloud/VPS服務器(例如www.mysite.co.uk)上託管。我的網絡應用程序託管在專用服務器上(例如www.mysite-ssl.co.uk)。我想通過在我的VPS上註冊的域名從專用服務器發送電子郵件。
我可以通過Outlook連接,併發送接收電子郵件沒有任何問題:
但是,因爲我是一個VPS /雲服務器,UKFast勸我一定要使用「localhost」或「127.0上。 0.1「如果我從代碼發送。但我沒有看到什麼到Outlook連接和發送電子郵件,以我的代碼試圖從專用服務器做不同的,通過VPS域/郵箱:
Imports System.Net.Mail
Public Shared Function SendMail(ByVal email As String, ByVal name As String, ByVal hear As String, ByVal mess As String) As String
Dim mail As New MailMessage()
mail.From = New MailAddress(email)
mail.To.Add("******@gmail.com")
mail.Subject = "Contact Email from My Website"
mail.IsBodyHtml = True
Dim str As String = "<table border=""1"" cellpadding=""4"" cellspacing=""0""><tr><td>Name:</td><td>" & name & "</td></tr><tr><td>" & "Email:</td><td>" & email & "</td></tr><tr><td>Hear:</td><td>" & hear & "</td></tr><tr><td valign=""top"">Message:</td><td>" & mess.Replace(Chr(10), "<br />") & "</td></tr></table>"
mail.Body = str
Dim smtp As New SmtpClient("mail.-same as outgoing mail server in Outlook-.co.uk")
smtp.Port = 25
smtp.Credentials = New System.Net.NetworkCredential("UserNameFromOutlook","PasswordFromOutlook")
Try
smtp.Send(mail)
Catch ex As Exception
Return ex.ToString
Return ("error")
End Try
Return ("ok")
End Function
然而,從該發送時在asp.net頁面,我得到的錯誤:
System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it (myipaddress):25 at System.Net.Sockets.Socket.
我不明白爲什麼Outlook可以沒有問題連接,但我的SendMail的代碼可以做不一樣的,具有相同的憑據。
我的web.config有:
<configuration>
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="mail.-same as outgoing mail server in Outlook-" port="25" userName="UserNameFromOutlook" password="PasswordFromOutlook" />
</smtp>
</mailSettings>
</system.net>
</configuration>
有什麼錯我的代碼,我可以改變,以允許我發送電子郵件?
感謝您的幫助,
馬克
'telnet yourIPserver 25'是否適合你? – BrOSs 2013-03-08 22:38:00
嗨 - 不管telnet mail.myipserver.co.uk或telnet mail.myipserver.co.uk:25,或telnet mail.myipserver.co.uk:587,它建議「無法打開連接到主機上端口XX:連接失敗「 - 那麼Outlook如何管理它? – Mark 2013-03-08 22:48:41
你永遠無法發送任何電子郵件,直到你得到這樣的東西:'220 test.auto.mySMTPserver.com ESMTP服務(Lotus Domino版本8.5.3FP2 HF95)準備在星期二,30十月2012 08:27:31 - 0700'在telnet命令。所以,你應該專注於打開這個連接。 – BrOSs 2013-03-08 22:56:31