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

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

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

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

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

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

20
задан jtimberman
21.12.2022 17:17 Количество просмотров материала 3521
Распечатать страницу

3 ответа

Я считаю swaks - это именно то, что вы ищете.

2
отвечен LiraNuna 2022-12-23 01:05

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

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

1
отвечен akira 2022-12-23 03:22

Я бы установил Postfix в качестве моего локального MTA с включенным SASL.

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

в/etc/постфикс/главная.БФ:

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_* в начале. Измените имя хоста и домен для вашего окружающая среда.

/и т. д./Есть postfix/sasl_passwd:

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

заменить mail.google.com с тем, что SMTP-сервер Google является и gmail_username и gmail-пароль с соответствующими значениями.

запустить postmap и перезапустить postfix:

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

Теперь, когда вы отправляете почту на вашей системе, он будет использовать Postfix в качестве локального MTA и автоматически аутентифицироваться с SASL.

0
отвечен jtimberman 2022-12-23 05:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх