Отправить результат работы кода по электронной почте
Подскажите, пожалуйста, как мне собрать результат данного кода в одну переменную и отправить по почте? Сейчас print(mac) на экран выводит все что нужно, но на почту отправляется только последняя строка.
if '.194.249' in output:
print("Pool забит")
for line in ip_mac_lines:
if '0100' not in line:
ok = line.split()
f = operator.itemgetter(1)
okk = str(f(ok))
okk = okk.replace("'", "")
okk = re.sub(r'[\(\)]', '', str(okk))
okk = okk.replace(".", "")
if '01' in okk:
okk = okk[2:]
# print(okk)
mac = ':'.join(okk[i:i + 2] for i in range(0, len(okk), 2))
#print(mac)
msg[
'Subject'] = f'В некоторых магазинах {day}.{month}.{year} забился пул IP-адресов.' # Тема сообщения
body = f"На ядре {hostname} забился пул IP-адресов. Просьба обратить внимание на следующих клиентов, получивших некорректные ip-адреса в vlan 194: \n {mac}\n\n"
Ответы (1 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
надеюсь поймешь в чем разница).
my_ip = ['1.1.1.1','2.2.2.2','3.3.3.3']
for el in my_ip:
msg = f'bad ip {el}'
print(msg)
print('----------')
msg_all = []
for el in my_ip:
msg_all.append(f'bad ip {el}')
print('\n'.join(msg_all))
P.S. Ну или если вам нужно отправить столько писем сколько mac то тогда, как сказали в комментариях, отправляйте сообщение каждую итерацию
