2016-09-06 64 views
1

我有一個網頁,在聯繫我們選項卡我有一個表格用戶只能輸入他們的姓名,電子郵件ID,主題和消息。一旦他們點擊確定按鈕,我想將這些消息發送到我的Hotmail帳戶。如何使用asp.net發送消息到hotmail而無需用戶密碼?

我試了一些代碼。但它不起作用。

SmtpClient smtp = new SmtpClient(); 
smtp.Host = "smtp.gmail.com"; 
smtp.Port = 587; 
smtp.Credentials = new System.Net.NetworkCredential(txtUserEmail.text, txtPassword); 
smtp.EnableSsl = true; 

MailMessage msg = new MailMessage(); 
msg.Subject = "Demo"; 
msg.Body = "Hi there.."; 

string toAddress = "[email protected]"; // Add Recepient address 
msg.To.Add(toAddress); 

string fromAddress = "\"no reply \" <[email protected]>"; 
msg.From = new MailAddress(fromAddress); 
msg.IsBodyHtml = true; 

    try 
    { 
     smtp.Send(msg); 
    } 
    catch 
    { 
     throw; 
    } 

我試過這段代碼。但它有一個密碼。我希望用戶在沒有密碼,請發送電子郵件至我[email protected]

這裏是我的外形設計 enter image description here

+0

這個問題**很不明確**,代碼沒有多大意義。如果用戶與您聯繫,那麼電子郵件地址將嵌入數據中,用戶將不會發送郵件,而是將數據形成到服務器,然後服務器會向您發送電子郵件。 **憑據和地址將是服務器上您的電子郵件帳戶**。 如果您希望用戶發送電子郵件,那麼它將通過其客戶端電子郵件程序... – Phil1970

回答

1

首選的方式做,這是沒有郵件從用戶的電子郵件發送,而是有一個假電子郵件發送郵件幷包含用戶輸入的數據。可能不是最好的解決方案,但它不需要用戶憑據。

+0

好吧告訴我如何做的方式。如果您發佈示例代碼,這將有所幫助,謝謝 –

+0

@mohamedfaisal實際上沒有示例代碼。創建一個新的Gmail帳戶(例如'usercontact.yourcompany @ gmail.com')並在'msg.From'中使用它的郵件地址,並設置您用來創建帳戶的憑證。 –

+0

無論如何,你將需要一個密碼 - 你是對的,但你不想問用戶的憑據。使用自己的電子郵件帳戶(在公司服務器上或通過Gmail等創建)並以此方式發送。請記住,用戶將看到您發送的電子郵件地址,因此最好使用您自己公司域中的帳戶([email protected]) - 它看起來比[email protected]更專業 - 作爲就像樣品一樣,只是谷歌「發送電子郵件的尖銳」,你很好去! –

2

這取決於您的主機。通常web主機給你一個本地的SMTP服務器,然後你可以用它發送你想要的任何郵件,只需要知道配置設置並將它們與SmtpClient一起使用。

如果你的主機不提供SMTP(很奇怪,除非你selfhosting頁),您可以:

1,安裝本地SMTP服務器(如果管理服務器),這是首選的解決方案。

2-使用外部服務,如谷歌發送郵件,但是你需要在服務上創建一個帳戶並使用這些憑據,並且要求谷歌有很多限制發送電子郵件(每秒限制,將郵件標記爲垃圾郵件等)。

+0

當數據發送到服務器並且服務器發送電子郵件時,用戶不應該看到發件人。如果網頁瀏覽器發送電子郵件,那麼它會使用客戶端電子郵件程序... – Phil1970

+0

對不起,我不明白你...用戶試圖從服務器發送電子郵件(這是ASP.net,因爲他在題)。 – Gusman

+0

你可能比我理解寫得不好的問題更好......我可能在錯誤的位置寫了評論。 – Phil1970

相關問題