(
message,
title,
message_prefix=None,
email_sender=None,
email_password=None,
email_receiver=None,
email_smtpserver=None,
rate_limit=None,
)
| 2547 | |
| 2548 | |
| 2549 | def email_warning( |
| 2550 | message, |
| 2551 | title, |
| 2552 | message_prefix=None, |
| 2553 | email_sender=None, |
| 2554 | email_password=None, |
| 2555 | email_receiver=None, |
| 2556 | email_smtpserver=None, |
| 2557 | rate_limit=None, |
| 2558 | ): |
| 2559 | # 为了加载最新的配置 |
| 2560 | email_sender = email_sender or setting.EMAIL_SENDER |
| 2561 | email_password = email_password or setting.EMAIL_PASSWORD |
| 2562 | email_receiver = email_receiver or setting.EMAIL_RECEIVER |
| 2563 | email_smtpserver = email_smtpserver or setting.EMAIL_SMTPSERVER |
| 2564 | rate_limit = rate_limit if rate_limit is not None else setting.WARNING_INTERVAL |
| 2565 | |
| 2566 | if not all([message, email_sender, email_password, email_receiver]): |
| 2567 | return |
| 2568 | |
| 2569 | if reach_freq_limit( |
| 2570 | rate_limit, email_receiver, email_sender, message_prefix or message |
| 2571 | ): |
| 2572 | log.info("报警时间间隔过短,此次报警忽略。 内容 {}".format(message)) |
| 2573 | return |
| 2574 | |
| 2575 | if isinstance(email_receiver, str): |
| 2576 | email_receiver = [email_receiver] |
| 2577 | |
| 2578 | with EmailSender( |
| 2579 | username=email_sender, password=email_password, smtpserver=email_smtpserver |
| 2580 | ) as email: |
| 2581 | return email.send(receivers=email_receiver, title=title, content=message) |
| 2582 | |
| 2583 | |
| 2584 | def linkedsee_warning(message, rate_limit=3600, message_prefix=None, token=None): |
no test coverage detected