Командная строка клиент SMTP с поддержкой аутентификации SASL

Дурак (со скомпилированной поддержкой SMTP) при отправке сообщения может отобразить ход операции, но это только делает это в интерактивном режиме. При попытке выполнить Дурака в пакетном режиме:

% mutt -s 'test #1' -a huge_file.tar.gz -- joe@example.com
SSL connection using TLSv1/SSLv3 (RC4-MD5)

он не будет видеть обновления прогресса, который неудобен для отправки очень больших файлов.

Мой вопрос: есть ли какой-либо клиент командной строки SMTP, которые имеют способность отправить сообщение через Gmail smtp сервер и отобразить индикатор выполнения (или что-то подобное) пользователю?

Заранее спасибо.

1
задан 21.08.2009, 05:02

3 ответа

Я настроил бы Постфикс как свой локальный MTA с включенным SASL.

В системе Ubuntu 9.04 в качестве примера установите постфикс, libsasl2-2 и пакеты сертификатов CA. Создайте/измените следующие Постфиксные файлы конфигурации.

/etc/postfix/main.cf:

biff = no
append_dot_mydomain = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
myhostname = linuxbox.int.example.com
mydomain = example.com
myorigin = $mydomain
smtpd_banner = $myhostname ESMTP $mail_name 
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = linuxbox.int.example.com, linuxbox, localhost.localdomain, localhost
relayhost = [mail.google.com]:587
mynetworks = 127.0.0.0/8
inet_interfaces = loopback-only
mailbox_size_limit = 0
recipient_delimiter = +

Все другие значения могут быть значениями по умолчанию, на самом деле многие из них, знаменитый smtp_* вначале. Измените имя хоста и домен для Вашей среды.

/etc/postfix/sasl_passwd:

[mail.google.com]:587 gmail_username:gmail-password

Замена mail.google.com с сервером SMTP любого Google и gmail_username и пароль Gmail с собственными значениями.

Выполненная посткарта и постфикс перезапуска:

sudo postmap /etc/postfix/sasl_passwd
sudo /etc/init.d/postfix restart

Теперь при отправке почты в системе она будет использовать Постфикс в качестве локального MTA и автоматически проходить проверку подлинности с SASL.

0
ответ дан 12.12.2019, 10:50

Я полагаю, что swaks точно, что Вы ищете.

2
ответ дан 12.12.2019, 10:50

после перечитывания вопроса и получения основной части (который должен быть выделен) я думаю, что сделал бы это (так как я не нашел такого решения в существующих smtp-клиентах):

используйте источник msmtp, в его 'smtp.c' существует 'smtp_send_mail ()', где фактическая отправка происходит. я исправил бы тот файл для распечатывания, сколько из почты отправляется. возможно, как опция, возможно, для воздействия сигнал (как 'уничтожают-USR1')...

1
ответ дан 12.12.2019, 10:50

Теги

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