Example #1
0
    def _sendmail(self, to_addrs, msg):
        # Import twisted.mail here because it is not available in python3
        from twisted.internet import reactor
        from twisted.mail.smtp import ESMTPSenderFactory

        msg = BytesIO(msg)
        d = defer.Deferred()
        factory = ESMTPSenderFactory(
            self.smtpuser,
            self.smtppass,
            self.mailfrom,
            to_addrs,
            msg,
            d,
            heloFallback=True,
            requireAuthentication=False,
            requireTransportSecurity=self.smtptls,
        )
        factory.noisy = False

        if self.smtpssl:
            reactor.connectSSL(self.smtphost, self.smtpport, factory,
                               ssl.ClientContextFactory())
        else:
            reactor.connectTCP(self.smtphost, self.smtpport, factory)

        return d
Example #2
0
 def _sendmail(self, to_addrs, msg):
     msg = StringIO(msg)
     d = defer.Deferred()
     factory = ESMTPSenderFactory(self.smtpuser, self.smtppass, self.mailfrom, \
         to_addrs, msg, d, heloFallback=True, requireAuthentication=False, \
         requireTransportSecurity=True)
     factory.noisy = False
     reactor.connectTCP(self.smtphost, self.smtpport, factory)
     return d
Example #3
0
 def _sendmail(self, to_addrs, msg):
     msg = StringIO(msg)
     d = defer.Deferred()
     factory = ESMTPSenderFactory(self.smtpuser, self.smtppass, self.mailfrom, \
         to_addrs, msg, d, heloFallback=True, requireAuthentication=False, \
         requireTransportSecurity=False)
     factory.noisy = False
     reactor.connectTCP(self.smtphost, self.smtpport, factory)
     return d
Example #4
0
    def _sendmail(self, to_addrs, msg):
        msg = StringIO(msg)
        d = defer.Deferred()
        factory = ESMTPSenderFactory(self.smtpuser, self.smtppass, self.mailfrom, to_addrs, msg, d, heloFallback=True,
                                     requireAuthentication=False,
                                     requireTransportSecurity=self.smtptls)
        factory.noisy = False

        if self.smtpssl:
            reactor.connectSSL(self.smtphost, self.smtpport, factory, ssl.ClientContextFactory())
        else:
            reactor.connectTCP(self.smtphost, self.smtpport, factory)

        return d
Example #5
0
    def _sendmail(self, to_addrs, msg):
        msg = StringIO(msg)
        d = defer.Deferred()
        factory = ESMTPSenderFactory(self.smtpuser, self.smtppass, self.mailfrom,
                                     to_addrs, msg, d, heloFallback=True, requireAuthentication=False,
                                     requireTransportSecurity=self.smtptls)
        factory.noisy = False

        if self.smtpssl:
            reactor.connectSSL(self.smtphost, self.smtpport, factory, ssl.ClientContextFactory())
        else:
            reactor.connectTCP(self.smtphost, self.smtpport, factory)

        return d
Example #6
0
    def _sendmail(self, to_addrs, msg):
        # Import twisted.mail here because it is not available in python3
        from twisted.mail.smtp import ESMTPSenderFactory
        msg = StringIO(msg)
        d = defer.Deferred()
        factory = ESMTPSenderFactory(self.smtpuser, self.smtppass, self.mailfrom, \
            to_addrs, msg, d, heloFallback=True, requireAuthentication=False, \
            requireTransportSecurity=self.smtptls)
        factory.noisy = False

        if self.smtpssl:
            reactor.connectSSL(self.smtphost, self.smtpport, factory, ssl.ClientContextFactory())
        else:
            reactor.connectTCP(self.smtphost, self.smtpport, factory)

        return d
Example #7
0
    def _get_factory(self, to, message, deferred):
        """
        """
        sender_factory = ESMTPSenderFactory(
            self._user,
            self._passwd,
            self._from_email,
            to,
            message,
            deferred,
            heloFallback=True,
            requireAuthentication=False,
            requireTransportSecurity=self._starttls)
        sender_factory.noisy = self._noisy

        return sender_factory
Example #8
0
    def _get_factory(self, to, message, deferred):
        """
        """
        sender_factory = ESMTPSenderFactory(
            self._user,
            self._passwd,
            self._from_email,
            to,
            message,
            deferred,
            heloFallback=True,
            requireAuthentication=False,
            requireTransportSecurity=self._starttls
        )
        sender_factory.noisy = self._noisy

        return sender_factory
Example #9
0
def sendMail(authUsername, authPassword, SMTPHost, SMTPPort, fromEmail, fromDisplayEmail, msg, reactor=None):

    if reactor == None:
        from twisted.internet import reactor

    contextFactory = ClientContextFactory()
    contextFactory.method = SSLv3_METHOD

    resultDeferred = Deferred()

    msg.replace_header("From", fromDisplayEmail)

    msgstring = msg.as_string(unixfrom=True)
    fp = StringIO(msgstring)

    senderFactory = ESMTPSenderFactory(
        authUsername, authPassword, fromEmail, msg.get("To"), fp, resultDeferred, contextFactory=contextFactory)
    senderFactory.noisy = False

    reactor.connectTCP(SMTPHost, SMTPPort, senderFactory)

    return resultDeferred