sendmail: як налаштувати sendmail на ubuntu? [зачинено]


190

Коли я шукав налаштування sendmail на ubuntu, я не отримую жодної чіткої відповіді, кожен з них припускає, що я знаю, про що вони говорять,

Я просто хочу, щоб основна конфігурація дозволила надсилати електронну пошту, в основному я буду використовувати її з двигуном додатків google, щоб увімкнути надсилання пошти з сервера розробників.

Я вже це робив:

sudo apt-get install sendmail

тоді

sudo sendmailconfig

але я не знаю, що насправді робив останній.


4
@TentistMaster, чи більше ми не переносимо питання на відповідні сайти SE?
Майкл

Це питання занадто старе для міграції (і це було вже тоді, коли я його закрив).
ThiefMaster

1
Жодна з цих відповідей не працювала для мене. Я знайшов цю онлайн-статтю, яка працює для мене: daveperrett.com/articles/2013/03/19/…
Online Sid

@TentistMaster визначте "занадто старим", ви говорите, що sendmail є застарілим? Подумати ще раз.
PJ Brunet

@PJBrunetПоки я думаю, що 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
при спробі останньої команди я отримую цей баш: Мій тестовий лист надсилається з sendmail: Немає такого файлу чи каталогу
UXE

2
Вибачте, коли ви кажете your.isp.net, я туди заношу gmail.comчи smtp.gmail.comтуди?
Хоуман

30
Незрозуміло одне, що робити заміни в AuthInfo: your.isp.net "U: root" "I: user" "P: пароль" Конкретно, як ти заміниш U: root та I: user
Tom Haws

13
У випадку, якщо хтось ще заплутається, рядки у sendmail.mcфайлі повинні бути у формі BACKTICK + ваш текст + SINGLE QUOTE.
Томас

2
Це була єдина конфігурація, яка прекрасно працювала для мене: linuxconfig.org/configuring-gmail-as-sendmail-email-relay
Jared Eitnier

35

Після однієї невеликої редагування я отримав найкращу відповідь (поки що не можу відповісти)

Це не спрацювало для мене:

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

Першу єдину лапочку для кожного рядка слід змінити на backtick (`), як це:

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

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

sudo sendmailconfig

І я в бізнесі :)


3
Я використовую виправлення чи ні, коли я викликаю перезапуск служби sendmail, я отримую файловий клас: не можна відкрити "ATURE (authinfo,": Немає такого файлу чи каталогу
Tom Haws

4
це "FEATURE" не "ATURE", перевірити свою копію / вставити
jyavenard

вам потрібно вставити його в інше місце в sendmail.cf (я поставив його трохи вище пошти, але я все одно не отримую пошту)
Toskan

14

Поєднайте дві відповіді вище, я нарешті змушую це працювати. Будьте обережні, що першою єдиною цитатою для кожного рядка є backtick (`) у файлі 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

У мене все ще виникають проблеми з розумінням лінії 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"
Мендес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.