2012-09-23 37 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 
相关问题