19 from ..model.status import Status |
19 from ..model.status import Status |
20 from ..config import Option |
20 from ..config import Option |
21 from .provider import Provider, providers |
21 from .provider import Provider, providers |
22 |
22 |
23 class SMTP(Provider): |
23 class SMTP(Provider): |
24 def __init__(self, name, config): |
24 def __init__(self, name): |
25 Provider.__init__(self,name,config,{"mail":[None]}) |
25 Provider.__init__(self,name,{"mail":[None]}) |
26 self.options.update({ |
26 self.options.update({ |
27 "send_from":Option(vEmail,long="Emailaddress from which mail will be sended.",must=True), |
27 "send_from":Option(vEmail,long="Emailaddress from which mail will be sended.",must=True), |
28 "host":Option(lambda x,y:x, long="Hostname of MTA", must=True), |
28 "host":Option(lambda x,y:x, long="Hostname of MTA", must=True), |
29 "port":Option(partial(vInteger,minv=0),long="Port of the MTA", default=25), |
29 "port":Option(partial(vInteger,minv=0),long="Port of the MTA", default=25), |
30 "user":Option(lambda x,y:x, long="username to login into MTA.",default=""), |
30 "user":Option(lambda x,y:x, long="username to login into MTA.",default=""), |
31 "password":Option(lambda x,y:x, long="password to login into MTA.",default=""), |
31 "password":Option(lambda x,y:x, long="password to login into MTA.",default=""), |
32 "TLS":Option(vBool,long="use TLS for connection to MTA", default=False), |
32 "TLS":Option(vBool,long="use TLS for connection to MTA", default=False), |
33 "SSL":Option(vBool,long="use SSL for connection to MTA", default=False), |
33 "SSL":Option(vBool,long="use SSL for connection to MTA", default=False), |
34 }) |
34 }) |
35 self.loadConfig() |
|
36 |
35 |
37 def send(self,mail,recipient): |
36 def send(self,mail,recipient): |
38 if not self.testmode: |
37 if not self.testmode: |
39 if self.SSL: |
38 if self.SSL: |
40 smtp = smtplib.SMTP_SSL(self.host,self.port) |
39 smtp = smtplib.SMTP_SSL(self.host,self.port) |