Налаштування сервера ubuntu для надсилання пошти ()


40

Я багато намагався шукати, але не зміг знайти, як насправді налаштувати сервер ubuntu, щоб я міг надсилати пошту через php за допомогою функції mail () у php.

У мене на сервері встановлені apache2, mysql та php5.

Дякую тобі.

Відповіді:


45

Я також погоджуюся, що не вистачає навчальних посібників для людей, яким просто потрібен сценарій для надсилання, наприклад, електронні листи з помилками та не потрібен повноцінний поштовий сервер.

По-перше, якщо постфікс ще не встановлено:

sudo apt-get install postfix

Це підкаже з парою питань. Для першого я вибрав «Інтернет-сайт»; для машини, що знаходиться за брандмауером, я можу обрати натомість smarthost. У другому питанні вона за замовчуванням відповідає назві машини; Я додав доменне ім’я, яким я керую (щоб я міг встановити DNS для нього пізніше, якщо мені потрібно).

У цей момент ви повинні мати можливість використовувати "пошту" з командного рядка для надсилання тесту. (Я, як правило, спочатку дотримуюся інструкцій на http://ubuntuforums.org/showthread.php?t=38429 , інакше я повинен використовувати -fпрапор /usr/bin/sendmail. Я також люблю створювати /etc/aliasesзаписи з рут і мого звичайного користувача, а потім запускати newaliases)

Потім під /etc/php5/conf.d створіть файл (наприклад, mailconfig.ini) з цим вмістом:

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Змініть me@example.com на свою електронну адресу. Вони означають, що вся електронна пошта буде виглядати так, що вона надіслана вами, що може запобігти її відхиленню. Цього достатньо для просто надсилання електронних листів з помилками розробнику.

(Наведені вище інструкції перевірені на Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Як вказувалося на ошеломленому в коментарях, mailйого немає завжди (наприклад, на Ubuntu 11.10 він відсутній). Насправді це не впливає на вищезазначені інструкції, вам потрібен лише mailтест, і ви можете sendmailтак само добре використовувати для цього. Але mailвін також корисний для читання електронної пошти, тому зазвичай варто встановити його, використовуючи: apt-get install mailutils(як root).


1
Дякую! Це спрацювало чудово. Тестовано на Ubuntu 12.04 LTS x64.
Трент Скотт

Це вирішує і пошук за допомогою NGINX! І PHP5-FPM
TheBlackBenzKid

1
Зверніть увагу на мій хост, mailутиліта командного рядка не встановлена ​​на чистій установці Ubuntu, а встановлення PostFix не встановлює її. Спробуйте sudo apt-get install mailutilsотримати mailкоманду або скористайтеся альтернативами, такими як Mutt, абоssmtp
зруйнований

Мені знадобилися тижні, щоб зрозуміти, що речі, з якими sendmail_pathтреба "працювати, як-отsendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Sliq

1
Нарешті! Відверте і просте рішення. Працює на Ubuntu 14.04.
Knyri

2

Вам потрібно буде налаштувати сервер ubuntu, щоб мати змогу надсилати пошту ... як приклад, ви можете встановити та налаштувати постфікс.

Документація на Ubuntu має приємну сторінку за адресою https://help.ubuntu.com/community/MailServer


будь-який підручник, з яким ви можете зв’язати мене?
Шишант

додав посилання на підручник
Домінік

1

Або пройдіть болісний процес налаштування поштового сервера безпосередньо на вашому сервері (постфікс тощо) або використовуйте бібліотеку, яка дозволить вам підключитися безпосередньо до smtp-сервера.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.