Как отправить электронную почту из учетной записи gmail в другую учетную запись, используя LAMPP, PHP и Sendmail/Postfix?

При попытке на Windows это довольно просто. У меня есть этот код в теле файла PHP:

$to = "[email protected]";
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: ' . $_POST['email'] . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$fullText = "Complaint from : " . $_POST['email'] . "\r\n" . "Name : " .
    $_POST['fullName'] . "\r\n" . $_POST['mainText'] . "\r\n";
mail($to, $_POST['subject'], $fullText, $headers);

И у меня есть этот sendmail.ini файл:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=XXXXXXXXXX
[email protected]

И в основном, что я хочу сделать, это отправить электронное письмо с учетной записи с именем [email protected] на другую учетную запись с именем [email protected], где первое электронное письмо имеет пароль. В Windows это работает.

Теперь в Linux нет файла sendmail.ini, поставляемого с LAMPP. Я везде просматривал способы обойти это, например этот, но что бы я ни пытался, не работает. Я даже пытался использовать Postfix, используя шаги из здесь, но это тоже не работал.

Я понимаю, что эти руководства могут быть неправильными из-за того, что они старые, но я не могу найти никаких последних руководств о том, как это сделать. Может ли кто-нибудь сказать мне, как это можно сделать возможным в Linux?


person MasterTextman    schedule 25.03.2018    source источник


Ответы (1)


Я не мог найти способ с помощью Postfix или Sendmail, но я нашел способ с помощью SSMTP.

Сначала установите SSMTP: sudo apt-get install ssmtp на Ubuntu.

Затем измените файлы конфигурации как таковые:

/etc/ssmtp/ssmtp.conf:

[email protected]
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=username
UseSTARTTLS=YES 
[email protected]
AuthPass=password
FromLineOverride=YES

/etc/ssmtp/revaliases:

root:[email protected]:smtp.gmail.com:587
localusername:[email protected]:smtp.gmail.com:587

php.ini [в любом случае соответствующая часть sendmail]:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP=smtp.gmail.com
; http://php.net/smtp-port
smtp_port=587

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/ssmtp -t

После всего этого все заработало отлично.

person MasterTextman    schedule 25.03.2018