mailing do wszystkich
This commit is contained in:
25
app.py
25
app.py
@@ -524,9 +524,14 @@ def main():
|
|||||||
parser.add_argument('--search-user', metavar="USERNAME",
|
parser.add_argument('--search-user', metavar="USERNAME",
|
||||||
help='Wyszukaj użytkownika po nazwie i wyświetl jego statystyki')
|
help='Wyszukaj użytkownika po nazwie i wyświetl jego statystyki')
|
||||||
|
|
||||||
|
parser.add_argument('--mailing-all-users', action='store_true',
|
||||||
|
help='Wyślij mailing do wszystkich użytkowników z poprawnym adresem e-mail')
|
||||||
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
inactive_range = None
|
inactive_range = None
|
||||||
|
|
||||||
if args.inactive_since:
|
if args.inactive_since:
|
||||||
try:
|
try:
|
||||||
min_days, max_days = map(int, args.inactive_since.split('-'))
|
min_days, max_days = map(int, args.inactive_since.split('-'))
|
||||||
@@ -639,6 +644,26 @@ def main():
|
|||||||
|
|
||||||
final_candidates = [u for u in final_candidates if (u.get('points') or 0) == 0]
|
final_candidates = [u for u in final_candidates if (u.get('points') or 0) == 0]
|
||||||
|
|
||||||
|
if args.mailing_all_users:
|
||||||
|
users = get_users(db_config)
|
||||||
|
temp_domains_cache = load_temp_domains()
|
||||||
|
candidates = [
|
||||||
|
u for u in users
|
||||||
|
if (not is_fake_email(u['mail'])) and (not is_temp_email(u['mail'], temp_domains_cache))
|
||||||
|
]
|
||||||
|
|
||||||
|
print(f"📨 Wysyłanie mailingu do {len(candidates)} użytkowników z poprawnym adresem e-mail...")
|
||||||
|
|
||||||
|
send_email_batch(
|
||||||
|
candidates,
|
||||||
|
smtp_config,
|
||||||
|
args.mails_per_pack,
|
||||||
|
args.time_per_pack,
|
||||||
|
dry_run=args.dry_run,
|
||||||
|
template_path=args.mail_template
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
if args.stats:
|
if args.stats:
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user