Как PHP изпраща поща с помощта на mail() без sendmail?

Добре, така че имам прост скрипт, който изпраща имейл чрез пощенската функция на PHP по следния начин:

<?php mail('[email protected]', 'Subject', 'This is a message', array('From' => '[email protected]', 'To' => '[email protected]', 'Subject' => 'This is a message')); ?>

Работи перфектно, когато се изпълнява на Synology DS212j (базиран на Linux NAS, използващ BusyBox за повечето често срещани команди на обвивката), но доколкото мога да преценя, няма екземпляр на sendmail никъде, който мога да намеря, а BusyBox sendmail не е активиран. Всъщност, ако използвам ini_get("sendmail_path"), тогава се връща стойност " -t -i".

Има променлива на средата MAIL=/var/mail/root, но това също не прави нищо (няма /var/mail).

Така че съм в пълна загуба за това как PHP всъщност изпраща своя имейл, така че се надявам някой да знае. Имам проблеми с преминаването през sendmail за PHP на друга платформа (в същата мрежа въздишка), така че ако мога да използвам същия механизъм като моя NAS, това може да улесни нещата.


person Haravikk    schedule 20.11.2014    source източник
comment
sendmail не е единствената поща. postfix/exim ще създаде символна връзка на sendmail към техните собствени двоични файлове за съвместимост с приложения, които имат твърдо кодирано предположение, че всички имейли преминават през sendmail.   -  person Marc B    schedule 21.11.2014


Отговори (1)


Ако имате qmail или postfix на вашата система и те са конфигурирани с обвивки на sendmail, тогава PHP може да бъде конфигуриран да работи с тях. В противен случай двоичните файлове на sendmail трябва да са в системата, за да може php да изпраща имейл чрез функцията mail().

справка: http://php.net/manual/en/mail.requirements.php

person matwr    schedule 21.11.2014
comment
Това изглежда разумно, но в такъв случай защо sendmail_path да не сочи към такъв двоичен файл? Има ли друг начин да разбера какво всъщност използва моята PHP инсталация? Ще разгледам, за да видя дали мога да намеря qmail или postfix, съмнявам се, че моят NAS ще има инсталирани повече от един от тях, но все още съм на загуба как всъщност PHP е конфигуриран да ги използва предвид какво Виждам в опциите за конфигурация и phpinfo() резултати. - person Haravikk; 25.11.2014