LINUX.ORG.RU

утилита mail (через внешний smtp)


0

1

Всем привет, уже измучился весь. Вообщем есть задача отправка сообщений на несколько адресатов (не спам)

1) нужно чтобы отправлялось с нормальной кодировкой, в питон и на senmail-clinet не нашел как исправить(приходят крокозябры)

2) через внешний smtp(мой сервер)

3) очень желательно, чтобы можно было указывать from address.

утилиты mail и mutt с кодировкой всё олично, но как сделать чтобы они ходили через определенный smtp. Спасибо



Последнее исправление: carter (всего исправлений: 1)

утилиты mail и mutt с кодировкой всё олично, но как сделать чтобы они ходили через определенный smtp. Спасибо

В локальном МТА настроить смартхост.

ansky ★★★★★
()
Последнее исправление: ansky (всего исправлений: 1)
Ответ на: комментарий от carter

mail бывают разных версий, у некоторых есть опция '-r' или они понимают переменную среды ″from″. У mutt переменная среды называется ″EMAIL″.

Надеюсь, следующим вопросом не будет вопрос про то, как выполнить команду из скрипта с заданными значениями переменными среды? :-)

mky ★★★★★
()
def alarm_via_email(message, recipient):

        import smtplib
        from email.MIMEMultipart import MIMEMultipart
        from email.MIMEText import MIMEText

        gmailUser = 'example@examplecom'
        gmailPassword = 'pass'

        msg = MIMEMultipart()
        msg['From'] = gmailUser
        msg['To'] = ", ".join(recipient)
        msg['Subject'] = "Alert"
        #msg["Subject"] = Header("привет", windows-1251)
        msg.attach(MIMEText(message.encode('utf-8'), _charset='utf-8'))

        mailServer = smtplib.SMTP('smtp.example.com', 587)
        mailServer.ehlo()
        mailServer.starttls()
        mailServer.ehlo()
        mailServer.login(gmailUser, gmailPassword)
        mailServer.sendmail(gmailUser, recipient, msg.as_string())
        mailServer.close()
alarm_via_email(u"Привет мир", "example@example.com")

Ну или ssmtp

dragster
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.