Альтернатива sendMail.exe [закрыто]

У вас есть куча собственных пакетных сценариев и прочего, использующего sendEmail.exe, старое приложение автоматической рассылки на Perl, которое можно найти здесь:

github для sendEmail. exe

Проблема в том, что с нашей миграцией на office365 и нашими политиками безопасности smtp требует запуска. SendEmail не поддерживает startls (или имеет опцию startls) ... хотя есть опции для ssl и tls: yes / auto / no, ни один из них не работает.

Один из вариантов - создать что-то новое с помощью python и библиотеки smtplib для замены sendEmail.exe, но я бы предпочел не создавать здесь колесо заново.

Существуют ли какие-либо другие популярные бесплатные утилиты или программы, которые я мог бы легко заменить для выполнения этой роли?

0
задан 6 November 2020 в 20:08
2 ответа

당신을위한 또 다른 해결책이 있습니다. 이것은 이전에 신뢰할 수있는 SendMail.exe가 터널 . Stunnel은 STARTTLS를 지원하며 Linux / Windows / MacOS / * NIX에서 실행됩니다.

지금 Stunnel이 무엇인지 물어볼 수 있습니다. 음, 이것은 :

Stunnel은 TLS 암호화 기능을 추가하도록 설계된 프록시입니다. 프로그램의 변경없이 기존 클라이언트 및 서버 code.

따라서 기본적으로 이전 솔루션이 TLS를 말할 수 있습니다. Stunnel은 암호화 부분을 처리하고 나머지는 SendMail.exe로 처리합니다.

이것이 가장 쉬운 솔루션 일 수 있습니다. SendMail.exe를 대체하는 대신 Stunnel 만 추가하면 매우 빠르게 수행 할 수 있습니다.

1
ответ дан 4 January 2021 в 09:24

Я бы заменил это более естественным подходом с использованием PowerShell. Поскольку Send-MailMessage теперь устарело, остается System.Net.Mail : MailMessage & SmtpClient . Предположительно, ваши сценарии могут передавать переменные (и вы можете заполнить недостающие значения) на:

$mailMessage = New-Object System.Net.Mail.MailMessage($fromAddress, $toAddress, $subject, $body)
$smtpClient = New-Object System.Net.Mail.SmtpClient($smtpServer, $smtpPort) 
$smtpClient.EnableSsl = $true
$smtpClient.Credentials = New-Object System.Net.NetworkCredential($smtpUsername, $smtpPassword)
$smtpClient.Send($mailMessage)
1
ответ дан 4 January 2021 в 09:24

Теги

Похожие вопросы