मुझे अपने gmail खाते से ईमेल भेजने में कुछ समस्याएँ हैं, जो कि पूर्वोक्त स्थितियों में से कई के कारण थे। यहां बताया गया है कि मैंने इसे कैसे काम किया और उसी समय इसे लचीला बनाए रखा:
- सबसे पहले अपना GMail अकाउंट सेटअप करें:
- IMAP सक्षम करें और संदेशों की सही अधिकतम संख्या पर जोर दें (आप यहां ऐसा कर सकते हैं)
- सुनिश्चित करें कि आपका पासवर्ड कम से कम 7 वर्ण का है और मजबूत है (Google के अनुसार)
- सुनिश्चित करें कि आपको पहले एक कैप्चा कोड दर्ज करने की आवश्यकता नहीं है। आप अपने ब्राउज़र से एक परीक्षण ईमेल भेजकर ऐसा कर सकते हैं।
- Web.config में परिवर्तन करें (या app.config, मैंने अभी तक कोशिश नहीं की है, लेकिन मुझे लगता है कि यह विंडोज़ अनुप्रयोग में काम करना उतना ही आसान है):
<configuration>
<appSettings>
<add key="EnableSSLOnMail" value="True"/>
</appSettings>
<!-- other settings -->
...
<!-- system.net settings -->
<system.net>
<mailSettings>
<smtp from="yourusername@gmail.com" deliveryMethod="Network">
<network
defaultCredentials="false"
host="smtp.gmail.com"
port="587"
password="stR0ngPassW0rd"
userName="yourusername@gmail.com"
/>
<!-- When using .Net 4.0 (or later) add attribute: enableSsl="true" and you're all set-->
</smtp>
</mailSettings>
</system.net>
</configuration>
Add a Class to your project:
Imports System.Net.Mail
Public Class SSLMail
Public Shared Sub SendMail(ByVal e As System.Web.UI.WebControls.MailMessageEventArgs)
GetSmtpClient.Send(e.Message)
'Since the message is sent here, set cancel=true so the original SmtpClient will not try to send the message too:
e.Cancel = True
End Sub
Public Shared Sub SendMail(ByVal Msg As MailMessage)
GetSmtpClient.Send(Msg)
End Sub
Public Shared Function GetSmtpClient() As SmtpClient
Dim smtp As New Net.Mail.SmtpClient
'Read EnableSSL setting from web.config
smtp.EnableSsl = CBool(ConfigurationManager.AppSettings("EnableSSLOnMail"))
Return smtp
End Function
End Class
और अब आप जब भी ईमेल भेजना चाहते हैं, तो आपको कॉल करना होगा SSLMail.SendMail
:
एक पासवर्ड के साथ एक पेज में उदाहरण के लिए ControlRecovery नियंत्रण:
Partial Class RecoverPassword
Inherits System.Web.UI.Page
Protected Sub RecoverPwd_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles RecoverPwd.SendingMail
e.Message.Bcc.Add("webmaster@example.com")
SSLMail.SendMail(e)
End Sub
End Class
या आपके कोड में कहीं भी आप कॉल कर सकते हैं:
SSLMail.SendMail(New system.Net.Mail.MailMessage("from@from.com","to@to.com", "Subject", "Body"})
मुझे उम्मीद है कि यह इस पोस्ट में चलने वाले किसी भी व्यक्ति की मदद करेगा! (मैंने VB.NET का उपयोग किया है लेकिन मुझे लगता है कि इसे किसी भी .NET भाषा में परिवर्तित करना तुच्छ है।)