LinuxForum.Fans
Тема

Настроить почту на одном комьютере

Автор: mstdmstd 15 сообщений 6142 просмотров
#185850

Подскажите пожалуйста как мне проще настроить почту на одном комьютере
чтобы мейлы можно было отправлять с программ на php на почтовые клиенты(KMail, Thunderbird) и писать мейлы
между почтовыми клиентами. Не нужно антиспама, антивирусов...
И если можно ссылочку на описание...

#186225

вообще-то вам оттуда ничего не надо oO
кроме настройки msmtp

Для приёма почты в php имеется встроенная функция imap_open(), которая эту почту принимает. Есть и функции обработки. Несмотря на название, POP3 она тоже умеет.
Для отправки есть функция mail() (пример: http://www.php-mail.ru/?id=2)
Только учтите, что на самом деле, mail() ничего не отправляет, в конфиге php прописана программа, которая собственно и занимается отправкой. По умолчанию sendmail, но её сложно настроить. Вам надо настроить msmtp - это проще в разы (хотя дело ваше).

#187208

Помогите пожалуйста правильно настроить msmt. В etc/msmtprc я добавил несколько акаунтов:

text
account default
                
host localhost
                                               
syslog LOG_MAIL

account google host smtp.gmail.com port 587 auth on tls on tls_starttls on tls_certcheck off from mstdmstd@gmail.com user mstdmstd@gmail.com password *******

account user_1 host localhost port 587 auth on tls on tls_starttls on tls_certcheck off from user_1@localhost user user_1@localhost password 111111

account user_2 host localhost port 587 auth on tls on tls_starttls on tls_certcheck off from user_2@localhost.com user user_2@localhost.com password 222222

Выполняя в командной строке получаю:

text
$ echo "Subject: test mail" |  msmtp -f mstdmstd@gmail.com
$ echo "Subject: test mail" | msmtp -f user_2@localhost.com
$ msmtp: no recipients found

Также в Thunderbird настроив юзера :

text
Your name : user_1
Email address : user_1@localhost
password : 111111

При конекте я получаю

Failed to connect to server mail.localhost

Как правильно настроить etc/msmtprc?

#187301

дык вы напишите КОМУ почта в командной строке.

#187348
drBatty написал:
дык вы напишите КОМУ почта в командной строке.

Да в манах написано :

-f, --from=address Set envelope from address.

Без ключа -f получаю ошибку:

msmtp: account default from /etc/msmtprc: envelope-from address is missing

Эти примеры я в нете нашел...
В команде надо указать получателя (recipient)?

В выводе msmtp --help как указать получателя я не нашел...

И как настроить юзера чтобы его почту мог читать Thunderbird?

#187352

--from значит ОТ КОГО
Отправитель. А получатель (реципиент) задается вообше без ключей. Посмотрите еще раз мою ссылку - там примеры рабочих конфигов и команд.

#187555

рабочий конфиг:

text
$ cat .msmtprc 
account default
host drbatty.ru
port 25
auth login
tls off
tls_starttls off
tls_certcheck off
from admin@drbatty.ru
user admin@drbatty.ru
password пароль
logfile ~/.msmtp.log

команда:
[console]$ echo "test" | msmtp drbatty@drbatty.ru[/console]

mstdmstd написал:
И как настроить юзера чтобы его почту мог читать Thunderbird?

в чём проблема?
отправьте почту на сервер - её можно будет прочитать чем угодно.
в т.ч. и Thunderbird'ом.

#187658

Мне удалось отправить почту на gmail.com акаунт
Но мне надо отправлять/посылать почту локально

То есть для описанных юзеров

text
account user_1
host localhost
port 587
auth on
tls on
tls_starttls on
tls_certcheck off
from user_1@localhost
user user_1@localhost
password 111111

account user_2 host localhost port 587 auth on tls on tls_starttls on tls_certcheck off from user_2@localhost user user_2@localhost password 222222

я получаю :

text
$ echo "Subject: test mail" |  msmtp -f user_1@localhost user_2@localhost
msmtp: cannot connect to localhost, port 587: Connection refused
msmtp: could not send mail (account user_1 from /etc/msmtprc)

localhost, видимо надо настраивать как-то иначе ?

#187660
mstdmstd написал:
Но мне надо отправлять/посылать почту локально
mstdmstd написал:
localhost, видимо надо настраивать как-то иначе

конечно. Вам нужно поднять локальный почтовый сервер, вроде как у gmail.com.

msmtp только отправляет почту на сервер.
fetchmail принимает почту с сервера.

А вам нужен сам сервер.

#187664

mstdmstd, возможно, я вас не правильно понял, но для почтовых уведомлений на локальном компьютере я использую exim — это единственный известный мне почтовый сервер, которых может отправлять почту локальным пользователям без необходимости быть постоянно запущенным.

#187669
Lupo Alberto написал:
использую exim

по большому счёту, "локальный сервер" может состоять из одной команды "cp" - там надо-то просто скопировать файл с сообщением в спул юзера ;)
Конечно, exim это тоже может. Остальные вроде тоже...
В мандриве можно попробовать просто urpmi sendmail, ЕМНИП он уже настроен на приём/передачу локальной почты...

#187672
drBatty написал:
Конечно, exim это тоже может. Остальные вроде тоже...

Я в своё время сильно «заморачивался» поиском такого сервера, который может отправлять почту локальным пользователям, не будучи запущенным постоянно. Нашёл только exim.

drBatty написал:
по большому счёту, "локальный сервер" может состоять из одной команды "cp"

Думал уже об этом... или logger, но... у меня logwatch все локальные логи обрабатывает (отчёты на локальное «мыло» шлёт) — лениво переделывать :o

Войдите или зарегистрируйтесь, чтобы ответить.