iro/offer/smtp.py
branchdevel
changeset 186 b381eaa774ab
parent 183 07ee5543751b
child 218 91f87ad13540
equal deleted inserted replaced
185:8ad6c097bc5b 186:b381eaa774ab
    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)