2012-01-25 311 views
0

我有一個在Godaddy的asp.net網站。我想知道的是,如果可以使用不同的smtp帳戶通過godaddy發送電子郵件。發送電子郵件Godaddy

更確切地說,我想發送一封來自[email protected]帳戶的電子郵件,xxx是一個不在Godaddy中的域。我知道SMTP主機,憑據和端口,我能夠從本地主機發送電子郵件,但是一旦上傳到Godaddy的,當我嘗試發送一封電子郵件,我得到:

連接嘗試失敗,因爲連接的方在一段時間後沒有正確響應,或建立的連接失敗,因爲連接的主機未能響應xx.xx.xx.xx:yy

起初我以爲它必須是電子郵件服務器中的一個端口被阻止,但如果我能夠從本地發送...

我也試過使用godaddy的smtp主機和港口,但結果是一樣的。

任何幫助將非常感謝! 謝謝!


我找到了解決方案。我使用的中繼僅用於Godaddy的共享託管服務,在我的情況下,它是Windows虛擬專用服務器。

以下是找到正確的繼電器的文章。希望它在這種情況下幫助任何人!

http://support.godaddy.com/help/article/122

+7

檢查GoDaddy的文檔。或切換到一個體面的虛擬主機。 – SLaks

+3

無關。 GoDaddy SUCKS。 –

+1

您將難以找到共享託管提供商,它允許您的應用程序進行任何出站網絡呼叫。您可以通過GoDaddy的SMTP服務器發送電子郵件至[email protected]地址。 – 2012-01-26 06:12:51

回答

0

我找到了解決方案。我使用的中繼僅用於Godaddy的共享託管服務,在我的情況下,它是Windows虛擬專用服務器。

以下是找到正確的繼電器的文章。希望它在這種情況下幫助任何人!

http://support.godaddy.com/help/article/122

1

一般來說,GoDaddy的不會讓你做,因爲你會使用它們作爲中繼,這是一個很大的禁忌,並與垃圾郵件有關。事實上,他們阻止你。

我不得不提交一個patch到博客引擎來處理這個問題。您可以在代碼中使用類似的解決方法。

+0

感謝您的快速響應。我能夠通過Godaddy從Gmail帳戶發送電子郵件,這就是爲什麼我在那裏從其他域發送郵件並不成問題的原因。如果你說的是真的,我怎麼能做到這一點?再次感謝! – Gonzalo

+0

我已閱讀您提供的鏈接,但我不確定應該更改/添加到我的代碼中。我不確定在哪裏添加useAdminEmailAsFrom =「true」屬性。 – Gonzalo

+0

@Gonzalo我提供的鏈接僅僅是一個例子。 'useAdminEmailAsFrom'適用於Subtext引擎。聽起來你所做的是正確的。我發現了和你一樣的東西 - 它和一些域一起工作,而其他域則沒有。我認爲,最終,您應該只使用GoDaddy託管的域來發送電子郵件。 – AngryHacker

2

大膽的想法,但它的工作相當數量的:

  1. 實施電子郵件queing:而不是立即發送電子郵件,寫一個任務/作業記錄數據庫的電子郵件,以便稍後發送

  2. 在您的應用程序中公開一個Web服務,該服務將返回有關排隊的電子郵件作業的信息;請確保它以某種方式受到保護,以便匿名用戶無法獲得此信息

  3. 編寫一個Windows服務,頻繁地從#2調用web服務(例如每分鐘一次)。在家裏主持這個Windows服務(假設現在每個人都有寬帶連接)。從家裏,您沒有問題通過您選擇的SMTP發送電子郵件,對吧?或者,舉辦勝利 - svc你沒有這些問題。


是的,就在發送電子郵件這樣一個小的延遲。然而,它增加了可靠性因素:如果你的代碼完美無瑕,電子郵件將被髮送出去,如果它們沒有被髮送,你可以重新發送它們(因爲你有他們的信息在數據庫;顯然這也是自定義編碼),與SMTP永遠不知道你的消息是否會被丟棄,如果SMTP當前很忙併且拒絕連接(很多郵件都會經過GoDaddy,我敢肯定它每天都在數百萬/十億)等等。

對不起,建議額外的工作,但我不認爲這是不合理的解決方案。

+0

另外,您可以在其他主機和其他各種設置中重複使用此功能。所以,在添加這樣的代碼和DB對象時,請考慮模塊化。 – 2012-01-26 06:24:34

+0

將發送部分分開,是一個很好的解決方案,特別適用於大型網站或羣組站點+1 –

+0

我喜歡這個想法,我一直在考慮使用GoDaddy進行virtu-dedi虛擬主機爲幾個偶爾發送電子郵件的客戶端(10-25 /周),但不喜歡SMTP中繼的限制 –

5

這裏是VB.NET

Dim mailMessage As New MailMessage() 
mailMessage.From = New MailAddress(「[email protected]」) 
mailMessage.[To].Add(New MailAddress(「[email protected]」)) 
mailMessage.IsBodyHtml = True 
mailMessage.Subject = 「test subject」 
mailMessage.Body = 「test」 
mailMessage.IsBodyHtml = True 
mailMessage.Priority = MailPriority.High 
Dim smtpClient As New SmtpClient(「relay-hosting.secureserver.net」, 25) 
Dim MyCache As New System.Net.NetworkCredential(「[email protected]」, 「password」) 
smtpClient.Credentials = MyCache 
smtpClient.EnableSsl = True 
smtpClient.Send(mailMessage) 

工作的代碼,我希望你正在使用「smtpout.secureserver.net」請做出改變,並與「relay-hosting.secureserver.net嘗試「和端口號是25

嘗試通過未在本地主機上託管它... :)

我希望它能幫助! !