UKFasts Cloud Shared VPSの登録済み/オンラインドメインを介して、asp.netWebサイトから電子メールを送信する方法を理解するのに非常に苦労しています。
私のウェブサイトとドメイン名は、クラウド/ VPSサーバーの1つ(例:www.mysite.co.uk)でUKFastを使用してホストされています。私のWebアプリは、専用サーバー(www.mysite-ssl.co.ukなど)でホストされています。専用サーバーから、VPSに登録されているドメイン経由でメールを送信したい。
Outlook経由で接続し、問題なく受信メールを送信できます。
ただし、私はVPS /クラウドサーバーを使用しているため、コードから送信する場合は、「localhost」または「127.0.0.1」を使用する必要があるとUKFastはアドバイスしています。しかし、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:メールの送信に失敗しました。---> System.Net.WebException:リモートサーバーに接続できません---> System.Net.Sockets.SocketException:ターゲットマシンがアクティブに拒否したため、接続できませんでした(myipaddress):25 at System.Net .Sockets.Socket。
Outlookが問題なく接続できる理由はわかりませんが、SendMailコードは同じ資格情報で同じことを行うことができません。
私のweb.configには次のものがあります。
<configuration>
<system.net>
<mailSettings>
<smtp from="info@busybeesdingwall.co.uk">
<network host="mail.-same as outgoing mail server in Outlook-" port="25" userName="UserNameFromOutlook" password="PasswordFromOutlook" />
</smtp>
</mailSettings>
</system.net>
</configuration>
私のコードに何か問題がありますか?メールを送信できるように変更できますか?
助けてくれてありがとう、
マーク