2012-09-23 36 views
1

我認爲Gmail正在重寫發件人地址,並使用網絡憑證中爲其提供的帳戶。使用Gmail地址的System.Net.Mail始終是我的地址

MailMessage message = new MailMessage(); 
    message.From = new MailAddress("[email protected]"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.Subject = "[Yep] Contact Form"; 
    message.Body = msg; 
    message.IsBodyHtml = false; 

    SmtpClient client = new SmtpClient(); 
    client.UseDefaultCredentials = false; 
    NetworkCredential networkCredentials = new NetworkCredential("[email protected]", "pass"); 
    client.Credentials = networkCredentials; 
    client.EnableSsl = true; 
    client.Host = "smtp.gmail.com"; 
    client.Port = 587; 

    try 
    { 
     client.Send(message); 

這是收到的電子郵件:

來源:[email protected] 要:[email protected] 日期:孫老師,2012年9月23日14點44分54秒-0700( PDT) 主題:[是的]聯繫表格 內容類型:文本/平原;字符集= US-ASCII 內容傳輸編碼:引用可打印

這是一個測試

我知道用它來工作,但現在從總是我的。如果其他人都遇到此問題,我能否得到確認,還是僅僅是我?

+0

希望這是每個人。沒有合理的理由這樣做。 –

+0

好吧,當我有一個網絡表格,他們進入他們的電子郵件,我可以將其設置爲從。因此,當我收到它時,我可以回覆。是的,這是一個合法的理由。所以我將不得不打開我自己的SMTP服務器。 Gmail使用此功能是爲了在2009年允許此功能,因爲我用它來託管使用它的網站。 – Zippy

+0

也許,我會找到一個不同的解決方案。操縱發件人地址是垃圾郵件發送者的伎倆。我不喜歡和那種人混淆。 –

回答

2

GMail(和許多其他電子郵件提供商)不允許您更改FROM標頭。這將允許電子郵件欺騙。

+0

太合適了,我們不希望有這樣的工作方式。 –

+0

當您進行身份驗證時,您正在接受使用條款。因此,無論是使用代碼發送還是使用gmail或outlook發送,我都屬於使用條款。如果我違反了我負責的條款,他們可以關閉電子郵件。此外,他們每天可以發送出站電子郵件的限制。這個概念並不舊,被稱爲SMTP中繼。我認爲他們不會再允許他們的服務器,除非我做了不正確的事情。自從我使用net.mail以來已經有一段時間了。 – Zippy

+0

@Tom與您的用戶有什麼關係,這是他們使用的電子郵件地址。 –

1

爲了達到這個結果,你將不得不去像godaddy這樣的自定義電子郵件提供商,或者從gmail購買商業訂閱。

您也可以參考 Sending Mail from Windows Azure Service, using Godaddy SMTP

+0

謝謝,我有一個虛擬服務器,並將啓用SMTP。如果我使用gmail,因爲它的可靠性和可用性,所以總是沒有開銷。 – Zippy

1

昏暗attachmentFile作爲字符串=沒有 如果FileUpload1.HasFile然後

 Try 
      FileUpload1.SaveAs("C:\files\" + FileUpload1.FileName) 
      attachmentFile = FileUpload1.PostedFile.FileName 
     Catch ex As Exception 
      litStatus.Text = "File Upload Failed !! " + ex.Message.ToString() 
     End Try 


     Try 
      Dim mail As New MailMessage() 
      Dim SmtpServer As New SmtpClient("smtp.gmail.com") 

      mail.From = New MailAddress("[email protected]") 




      'you have to provide your gmail address as from address' 
      mail.[To].Add(txtTo.Text) 
      mail.Subject = txtSubject.Text 
      mail.Body = txtBody.Text 

      Dim attachment As System.Net.Mail.Attachment 
      attachment = New System.Net.Mail.Attachment(attachmentFile) 
      mail.Attachments.Add(attachment) 

      SmtpServer.Port = 587 
      SmtpServer.Credentials = New System.Net.NetworkCredential("gamil-username", "gmail-passowrd") 


      'you have to provide you gamil username and password' 
      SmtpServer.EnableSsl = True 
      SmtpServer.Send(mail) 
      litStatus.Text = "Email successfully sent." 
     Catch ex As Exception 
      litStatus.Text = "Mail Send Failed ! " + ex.Message.ToString() 
     End Try 

    Else 
     litStatus.Text = "Please select a file for uploading" 
    End If 
相關問題