Jump to content
XPEnology Community

Recommended Posts

Друзья, направьте меня, пожалуйста, по правильному пути, чтобы я смог настроить отправку почты из php...

Перерыл весь форум (в том числе англоязычный), не нашёл.

ssmtp вроде как настроил, но он только из терминала почту шлёт, а из php так и не хочет... где собака порылась? куда копать?

DSM 6.1, bare metal

Edited by Arabezar
Link to comment
Share on other sites

On 10/11/2017 at 1:51 AM, Arabezar said:

Друзья, направьте меня, пожалуйста, по правильному пути, чтобы я смог настроить отправку почты из php...

Перерыл весь форум (в том числе англоязычный), не нашёл.

ssmtp вроде как настроил, но он только из терминала почту шлёт, а из php так и не хочет... где собака порылась? куда копать?

DSM 6.1, bare metal

 

А собственно что вы пробовали и что получалось? Из dsm (там где емейл уведомления) отправку почты настроили? Тестовые емейлы проходят?

Если это все сделано - то потом из php емейлы можно отправлять как-то так: 

// Set the email header
// Generate a boundary
$boundary = md5(uniqid(time()));
// Email header
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$reply_to."\r\n";
$header .= "MIME-Version: 1.0\r\n";
// Multipart wraps the Email Content and Attachment
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$boundary."\r\n";
// Email content
// Content-type can be text/plain or text/html
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n";    
//last boundary, with "--" on the end
$header .= "--".$boundary."--\r\n"; 
mail($mail_to, $subject, $message, $header, "-f your_email@something.com");

Но удобнее использовать готовый php class, я пользуюсь скачанным отсюда: http://github.com/PHPMailer/PHPMailer

Тогда отправка письма выглядит примерно так: 

require_once ('/volume1/your_path/PHPMailer-master/class.phpmailer.php'); 
//
$email = new PHPMailer(); 
$email->From      = $from_mail;
$email->FromName  = $from_name;
$email->Subject   = $subject;
$email->Body      = $message;
$email->AddAddress($mail_to);
$email->Send();

Оба куска кода выдраны из готового скрипта, первый работал, но был заменен на второй. Возможно при выдирании первого куска я мог что-то и пропустить (во втором пропустить что-то сложно), если не заработает - дайте знать.

Edited by SergeS
  • Like 1
Link to comment
Share on other sites

On 15.10.2017 at 9:09 AM, SergeS said:

Из dsm (там где емейл уведомления) отправку почты настроили? Тестовые емейлы проходят?

Да, настроил, и тестовые сообщения, и сообщения уведомлений DSN (периодическая проверка дисков; пропадание/возобновление питания Упса; недоступность инета и т.д.) приходят... к DSN пренетзий нет.

 

On 15.10.2017 at 9:09 AM, SergeS said:

Если это все сделано - то потом из php емейлы можно отправлять как-то так

Благодарю за примеры, они обязательно пригодятся в будущем, не сомневаюсь, но сейчас проблема другая (читай ниже)

 

On 15.10.2017 at 9:09 AM, SergeS said:

А собственно что вы пробовали и что получалось?

Ставлю TikiWiki... На этапе проверки системных требований предлагается проверить почту... и вот здесь инсталлятор ругается:

Ошибка  

Tiki was not able to send a test message. Review your mail log for details.

Review the mail settings in your php.ini file (for example: confirm that the sendmail_path is correct). If your host requires SMTP authentication, additional configuration may be necessary.

Hide  

sendmail_path указывает на /usr/bin/ssmtp -t

Приведённые ниже терминальные команды почту шлют.

Терминальные команды  

echo "Subject: Test message" > /tmp/newmessage; echo "" >> /tmp/newmessage; cat /etc/ssmtp/revaliases >> /tmp/newmessage; ssmtp <some_email>@ya.ru < /tmp/newmessage

Hide  

 

Чего не хватает TikiWiki?!

Edited by Arabezar
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...