1

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 и отображать индикатор выполнения (или что-то подобное) для пользователя?

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

3 ответа3

2

Я верю, что суки - это именно то, что вы ищете.

1

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

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

0

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

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

/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_ *. Измените имя хоста и домен для вашей среды.

/ И т.д. / постфикса / sasl_passwd:

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

Замените mail.google.com на любой SMTP-сервер Google, а на gmail_username и gmail-password укажите правильные значения.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .