fix mail-plugin
this fix load config the right way. now you can install mail-plugin with ```flaschengeist plugin install mail && flaschengeist plugin enable mail```
This commit is contained in:
		
							parent
							
								
									11204662be
								
							
						
					
					
						commit
						7eb30b662f
					
				|  | @ -1,6 +1,7 @@ | ||||||
| import smtplib | import smtplib | ||||||
| from email.mime.text import MIMEText | from email.mime.text import MIMEText | ||||||
| from email.mime.multipart import MIMEMultipart | from email.mime.multipart import MIMEMultipart | ||||||
|  | from werkzeug.exceptions import InternalServerError | ||||||
| 
 | 
 | ||||||
| from flaschengeist import logger | from flaschengeist import logger | ||||||
| from flaschengeist.models import User | from flaschengeist.models import User | ||||||
|  | @ -8,23 +9,29 @@ from flaschengeist.plugins import Plugin | ||||||
| from flaschengeist.utils.hook import HookAfter | from flaschengeist.utils.hook import HookAfter | ||||||
| from flaschengeist.controller import userController | from flaschengeist.controller import userController | ||||||
| from flaschengeist.controller.messageController import Message | from flaschengeist.controller.messageController import Message | ||||||
|  | from flaschengeist.config import config | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class MailMessagePlugin(Plugin): | class MailMessagePlugin(Plugin): | ||||||
|     def __init__(self, entry_point, config): |     def load(self): | ||||||
|         super().__init__(entry_point, config) |         self.config = config.get("mail", None) | ||||||
|         self.server = config["SERVER"] |         if self.config is None: | ||||||
|         self.port = config["PORT"] |             logger.error("mail was not configured in flaschengeist.toml") | ||||||
|         self.user = config["USER"] |             raise InternalServerError | ||||||
|         self.password = config["PASSWORD"] |         self.server = self.config["SERVER"] | ||||||
|         self.crypt = config["CRYPT"] |         self.port = self.config["PORT"] | ||||||
|         self.mail = config["MAIL"] |         self.user = self.config["USER"] | ||||||
|  |         self.password = self.config["PASSWORD"] | ||||||
|  |         self.crypt = self.config["CRYPT"] | ||||||
|  |         self.mail = self.config["MAIL"] | ||||||
| 
 | 
 | ||||||
|         @HookAfter("send_message") |         @HookAfter("send_message") | ||||||
|         def dummy_send(msg): |         def dummy_send(msg, *args, **kwargs): | ||||||
|  |             logger.info(f"(dummy_send) Sending message to {msg.receiver}") | ||||||
|             self.send_mail(msg) |             self.send_mail(msg) | ||||||
| 
 | 
 | ||||||
|     def send_mail(self, msg: Message): |     def send_mail(self, msg: Message): | ||||||
|  |         logger.debug(f"Sending mail to {msg.receiver}") | ||||||
|         if isinstance(msg.receiver, User): |         if isinstance(msg.receiver, User): | ||||||
|             if not msg.receiver.mail: |             if not msg.receiver.mail: | ||||||
|                 logger.warning("Could not send Mail, mail missing: {}".format(msg.receiver)) |                 logger.warning("Could not send Mail, mail missing: {}".format(msg.receiver)) | ||||||
|  | @ -34,8 +41,13 @@ class MailMessagePlugin(Plugin): | ||||||
|             recipients = userController.get_user_by_role(msg.receiver) |             recipients = userController.get_user_by_role(msg.receiver) | ||||||
| 
 | 
 | ||||||
|         mail = MIMEMultipart() |         mail = MIMEMultipart() | ||||||
|         mail["From"] = self.mail |         try: | ||||||
|         mail["To"] = ", ".join(recipients) |             mail["From"] = self.mail | ||||||
|  |             mail["To"] = ", ".join(recipients) | ||||||
|  |         except Exception as e: | ||||||
|  |             import traceback | ||||||
|  | 
 | ||||||
|  |             print(traceback.format_exc()) | ||||||
|         mail["Subject"] = msg.subject |         mail["Subject"] = msg.subject | ||||||
|         mail.attach(MIMEText(msg.message)) |         mail.attach(MIMEText(msg.message)) | ||||||
|         if not hasattr(self, "smtp"): |         if not hasattr(self, "smtp"): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue