##// END OF EJS Templates
admin.py: Login to email server added
Miguel Valdez -
r683:e5270acfc266
parent child
Show More
@@ -16,13 +16,15 from email.mime.multipart import MIMEMultipart
16 16
17 17 class SchainConfigure():
18 18
19 __DEFAULT_SENDER_EMAIL = "notifier-schain@jro.igp.gob.pe"
20 19 __DEFAULT_ADMINISTRATOR_EMAIL = "miguel.urco@jro.igp.gob.pe"
21 20 __DEFAULT_EMAIL_SERVER = "jro-zimbra.igp.gob.pe"
21 __DEFAULT_SENDER_EMAIL = "notifier-schain@jro.igp.gob.pe"
22 __DEFAULT_SENDER_PASS = ""
22 23
23 24 __SCHAIN_ADMINISTRATOR_EMAIL = "CONTACT"
24 25 __SCHAIN_EMAIL_SERVER = "MAILSERVER"
25 26 __SCHAIN_SENDER_EMAIL = "MAILSERVER_ACCOUNT"
27 __SCHAIN_SENDER_PASS = "MAILSERVER_PASSWORD"
26 28
27 29 def __init__(self, initFile = None):
28 30
@@ -59,6 +61,7 class SchainConfigure():
59 61 def __initFromHardCode(self):
60 62
61 63 self.__sender_email = self.__DEFAULT_SENDER_EMAIL
64 self.__sender_pass = self.__DEFAULT_SENDER_PASS
62 65 self.__admin_email = self.__DEFAULT_ADMINISTRATOR_EMAIL
63 66 self.__email_server = self.__DEFAULT_EMAIL_SERVER
64 67
@@ -79,7 +82,13 class SchainConfigure():
79 82 self.__sender_email = self.__parser.get("schain", self.__SCHAIN_SENDER_EMAIL)
80 83 except:
81 84 self.__sender_email = self.__DEFAULT_SENDER_EMAIL
82
85
86 # get the sender password
87 try:
88 self.__sender_pass = self.__parser.get("schain", self.__SCHAIN_SENDER_PASS)
89 except:
90 self.__sender_pass = self.__DEFAULT_SENDER_PASS
91
83 92 # get the administrator email
84 93 try:
85 94 self.__admin_email = self.__parser.get("schain", self.__SCHAIN_ADMINISTRATOR_EMAIL)
@@ -100,6 +109,10 class SchainConfigure():
100 109
101 110 return self.__sender_email
102 111
112 def getSenderPass(self):
113
114 return self.__sender_pass
115
103 116 def getAdminEmail(self):
104 117
105 118 return self.__admin_email
@@ -157,6 +170,7 class SchainNotify:
157 170 confObj = SchainConfigure()
158 171
159 172 self.__emailFromAddress = confObj.getSenderEmail()
173 self.__emailPass = confObj.getSenderPass()
160 174 self.__emailToAddress = confObj.getAdminEmail()
161 175 self.__emailServer = confObj.getEmailServer()
162 176
@@ -192,15 +206,23 class SchainNotify:
192 206 msg.attach(part)
193 207
194 208 # Create an instance in SMTP server
195 smtp = smtplib.SMTP(self.__emailServer)
209 try:
210 smtp = smtplib.SMTP(self.__emailServer)
211 except:
212 print "***** Could not connect to server %s *****" %self.__emailServer
213 return 0
214
196 215 # Start the server:
197 216 # smtp.ehlo()
198 # smtp.login(email_from, email_from_pass)
217 if self.__emailPass:
218 smtp.login(self.__emailFromAddress, self.__emailPass)
199 219
200 220 # Send the email
201 221 smtp.sendmail(msg['From'], msg['To'], msg.as_string())
202 222 smtp.quit()
223 smtp.close()
203 224
225 return 1
204 226
205 227 def sendAlert(self, message, subject = "", subtitle="", filename=""):
206 228 """sendAlert sends an email with the given message and optional title.
@@ -216,14 +238,15 class SchainNotify:
216 238 print "***** Sending alert to %s *****" %self.__emailToAddress
217 239 # set up message
218 240
219 self.sendEmail(email_from=self.__emailFromAddress,
220 email_to=self.__emailToAddress,
221 subject=subject,
222 message=message,
223 subtitle=subtitle,
224 filename=filename)
225
226 print "***** Your system administrator has been notified *****"
241 sent=self.sendEmail(email_from=self.__emailFromAddress,
242 email_to=self.__emailToAddress,
243 subject=subject,
244 message=message,
245 subtitle=subtitle,
246 filename=filename)
247
248 if sent:
249 print "***** Your system administrator has been notified *****"
227 250
228 251
229 252 def notify(self, email, message, subject = "", subtitle="", filename=""):
@@ -1,5 +1,8
1 1 #Copy this file to /etc/schain.conf
2
2 3 [schain]
4
3 5 CONTACT = miguel.urco@jro.igp.gob.pe
4 6 MAILSERVER = jro-zimbra.igp.gob.pe
5 MALSERVER_ACCOUNT = notifier-schain@jro.igp.gob.pe No newline at end of file
7 MALSERVER_ACCOUNT = notifier-schain@jro.igp.gob.pe
8 MAILSERVER_PASSWORD = No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now