Ajout logs, mail sur 2 lignes
This commit is contained in:
30
botMail.py
30
botMail.py
@@ -15,7 +15,7 @@ class Config(BaseProxyConfig):
|
|||||||
def do_update(self, helper: ConfigUpdateHelper) -> None:
|
def do_update(self, helper: ConfigUpdateHelper) -> None:
|
||||||
helper.copy("sender_addr")
|
helper.copy("sender_addr")
|
||||||
helper.copy("sender_passwd")
|
helper.copy("sender_passwd")
|
||||||
helper.copy("stmp_server")
|
helper.copy("smtp_server")
|
||||||
helper.copy("smtp_port")
|
helper.copy("smtp_port")
|
||||||
helper.copy("send_to")
|
helper.copy("send_to")
|
||||||
|
|
||||||
@@ -29,31 +29,41 @@ class MailBot(Plugin):
|
|||||||
async def command(self, evt: MessageEvent, pattern: str) -> None:
|
async def command(self, evt: MessageEvent, pattern: str) -> None:
|
||||||
await evt.mark_read()
|
await evt.mark_read()
|
||||||
try:
|
try:
|
||||||
txtemail = re.search('<(.*)>', pattern)
|
fullMail = pattern.split("\n", 1)
|
||||||
subject = txtemail.group(1)
|
subject = fullMail[0]
|
||||||
txtemail = re.sub('<(.*)>',"", pattern)
|
body = fullMail[1]
|
||||||
|
|
||||||
smtp_server=smtplib.SMTP(self.config["smtp_server"],self.config["smtp_port"])
|
self.log.info("Connecting to " + self.config["smtp_server"]+", port : "+ str(self.config["smtp_port"]))
|
||||||
|
smtp_server=smtplib.SMTP(self.config["smtp_server"],self.config["smtp_port"],None,20, None)
|
||||||
smtp_server.ehlo()
|
smtp_server.ehlo()
|
||||||
smtp_server.starttls()
|
smtp_server.starttls()
|
||||||
smtp_server.ehlo()
|
smtp_server.ehlo()
|
||||||
|
self.log.info("With user : " + self.config["sender_addr"])
|
||||||
smtp_server.login(self.config["sender_addr"], self.config["sender_passwd"])
|
smtp_server.login(self.config["sender_addr"], self.config["sender_passwd"])
|
||||||
|
|
||||||
msg = MIMEMultipart()
|
msg = MIMEMultipart()
|
||||||
user = re.search('@(.*):', evt.sender)
|
user = re.search('@(.*):', evt.sender)
|
||||||
msg['From'] = user.group(1) + '<' + self.config["sender_addr"] + '>'
|
msg['From'] = user.group(1) + " via ConDeBot<" + self.config["sender_addr"] + '>'
|
||||||
self.log.info(msg['From'])
|
self.log.info(msg['From'])
|
||||||
msg['To'] = self.config["send_to"]
|
msg['To'] = self.config["send_to"]
|
||||||
msg['Subject'] = subject
|
msg['Subject'] = subject
|
||||||
msg['Date'] = email.utils.formatdate(localtime=True)
|
msg['Date'] = email.utils.formatdate(localtime=True)
|
||||||
body = txtemail
|
|
||||||
msg.attach(MIMEText(body))
|
msg.attach(MIMEText(body))
|
||||||
smtp_server.sendmail(msg['From'],msg['To'],msg.as_string())
|
|
||||||
self.log.info(msg.as_string())
|
self.log.info(msg.as_string())
|
||||||
|
smtp_server.sendmail(msg['From'],msg['To'],msg.as_string())
|
||||||
await evt.respond('Mail envoyé')
|
await evt.respond('Mail envoyé')
|
||||||
except:
|
except IndexError:
|
||||||
|
if len(subject) == 0:
|
||||||
|
await evt.respond("<p>!mail Object<br />Corps du message<p>", allow_html=True)
|
||||||
|
else:
|
||||||
|
self.log.error("Il manque le corps du mail")
|
||||||
|
await evt.respond('Il manque le corps du mail')
|
||||||
|
await evt.respond("<p>!mail Object<br />Corps du message<p>", allow_html=True)
|
||||||
|
except Exception as e:
|
||||||
|
self.log.error(str(e))
|
||||||
await evt.respond('Erreur envoi mail')
|
await evt.respond('Erreur envoi mail')
|
||||||
await evt.respond("""!mail <Object>Corps du message""")
|
await evt.respond("<p>!mail Object<br />Corps du message<p>", allow_html=True)
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
Reference in New Issue
Block a user