@@ -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