sendmail: как настроить sendmail на ubuntu? [закрыто]

190

Когда я искал настройку sendmail в Ubuntu, я не получил четкого ответа, каждый из них предполагал, что я знаю, о чем они говорят,

Я просто хочу, чтобы базовая конфигурация включала отправку электронной почты, в основном я буду использовать ее с механизмом приложений Google, чтобы разрешить отправку почты с сервера dev.

Я уже сделал это:

sudo apt-get install sendmail

затем

sudo sendmailconfig

но я не знаю, что на самом деле сделал последний.

UXE
источник
4
@ThiefMaster мы больше не переносим вопросы на соответствующие сайты SE?
Майкл
Этот вопрос слишком старый, чтобы его можно было перенести (и он уже был таким, когда я его закрыл).
ThiefMaster
1
Ни один из этих ответов не работал для меня. Я нашел эту статью онлайн, которая работает для меня: daveperrett.com/articles/2013/03/19/…
онлайн Sid
@ThiefMaster определить "слишком старый" вы говорите, что sendmail устарел? Подумай еще раз.
Пи Джей Брюнет
@PJBrunetWhile Я действительно считаю sendmailустаревшим (есть гораздо лучшие альтернативы!), Мой комментарий ПЯТЬ ЛЕТ назад был просто о том, что мы не переносим старые вопросы на другой сайт SE.
ThiefMaster

Ответы:

146

Когда вы набираете sudo sendmailconfig, у вас должно быть предложено настроить sendmail.

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

/etc/mail/sendmail.conf
/etc/cron.d/sendmail
/etc/mail/sendmail.mc

Вы можете проверить sendmail, чтобы увидеть, правильно ли он настроен и настроен, набрав в командной строке следующее:

$ echo "My test email being sent from sendmail" | /usr/sbin/sendmail myemail@domain.com

Следующее позволит вам добавить SMTP-реле к sendmail:

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

Добавьте следующие строки в sendmail.mc, но передMAILERDEFINITIONS . Убедитесь, что вы обновили свой SMTP-сервер.

define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

Вызвать создание sendmail.cf (альтернативно запустить make -C /etc/mail):

m4 sendmail.mc > sendmail.cf

Перезапустите демон sendmail:

service sendmail restart
Венеция
источник
2
при попытке последней команды я получаю этот bash: мое тестовое электронное письмо отправляется с sendmail: нет такого файла или каталога
UXE
2
извините, когда вы говорите your.isp.net, я положил gmail.comили smtp.gmail.comтам?
Хуман
30
Одна вещь, которая не совсем ясна, это то, что нужно сделать в AuthInfo: your.isp.net "U: root", "I: пользователь", "P: пароль". В частности, как заменить U: root и I: пользователь
Tom Хоус
13
В случае, если кто-то еще запутался, строки внутри sendmail.mcфайла должны быть в форме BACKTICK + ваш текст + ЕДИНАЯ ЦИТАТА.
Томас,
2
Это была единственная конфигурация, которая отлично работала для меня: linuxconfig.org/configuring-gmail-as-sendmail-email-relay
Джаред Эйтньер,
35

Я получил рабочий ответ (пока не могу ответить) после небольшого редактирования

Это не сработало для меня:

FEATURE('authinfo','hash /etc/mail/auth/client-info')dnl

Первая одинарная кавычка для каждой строки должна быть заменена на обратную черту (`) следующим образом:

FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

После изменения я запускаю:

sudo sendmailconfig

А я в деле :)

BRMA
источник
3
Независимо от того, использую я ваше исправление или нет, при запуске службы sendmail перезапуска я получаю файловый класс: не могу открыть 'ATURE (authinfo,': нет такого файла или каталога
Том Хоус
4
это «ОСОБЕННОСТЬ», а не «АТУРА», проверьте свою копию / вставку
Jyavenard
Вы должны вставить его в другое место в sendmail.cf (я поместил его чуть выше почтового, но я все еще не получаю почту)
Toskan
14

Объедините два ответа выше, я наконец заставлю это работать. Только будьте осторожны, чтобы первая одинарная кавычка для каждой строки была символом обратной черты (`) в файле sendmail.mc.

#Change to your mail config directory:
cd /etc/mail

#Make a auth subdirectory
mkdir auth
chmod 700 auth  #maybe not, because I cannot apply cmd "cd auth" if I do so.

#Create a file with your auth information to the smtp server
cd auth
touch client-info

#In the file, put the following, matching up to your smtp server:
AuthInfo:your.isp.net "U:root" "I:user" "P:password"

#Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

#Add the following lines to sendmail.mc. Make sure you update your smtp server
#The first single quote for each string should be changed to a backtick (`) like this:
define(`SMART_HOST',`your.isp.net')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl

#run 
sudo sendmailconfig
flyrain
источник
У меня все еще есть проблема, чтобы понять строку AuthInfo ... Можете ли вы привести один пример ... ???
Атул Дравид - Белый Пвт. ООО
Например, моя информация о клиенте имеет только одну строкуAuthInfo:smtp.gmail.com "U:username" "P:password"
flyrain
Все еще со всеми этими настройками и AuthInfo я попадаю в список спама, используя smtp.gmail.com с существующей учетной записью от google.admin AuthInfo: smtp.gmail.com "U: root" "I: name@domain.com" "P: пароль "также пробовал AuthInfo: smtp-relay.gmail.com" U: root "" I: name@domain.com "" P: пароль "
xoxn-- 1'w3k4n
Чтобы уточнить:AuthInfo: smtp.gmail.com "U:yourusername@gmail.com" "P:yourpassword"
Мендес