Страница 2 из 8

Борьба со спамом - php mail() для Free

Добавлено: Пн фев 06, 2017 12:38 pm
oa-cru
nikolai2 WroteColonЗдравствуйте! подскажите пожалуйста, использую движок phpBB 3.2 где именно и какой файл править что бы работала почта


Нужно внести изменения в includes/functions_messenger.php - вписать заголовок "От" и в нем указать почтовый адрес, который создан в панели управления хостинга в закладке "Почта".
Мы уже сделали это для Вас: вписали в файл includes/functions_messenger.php строчку $headers[] = 'From: admin@niksat.tk' . "\r\n". Также мы создали для Вас тестовый почтовый ящик. Проверьте, пожалуйста, все ли в порядке.

Борьба со спамом - php mail() для Free

Добавлено: Пн фев 27, 2017 1:21 pm
greenteamneo
Использую на сайте phph обработчик, который принимает json данные и отправляет на почту. Хедер для "борьбы со спамом добавил". Скрипт проходит тест и завершается успехом, но на почту сообщения не приходят. Идеи закончились. Помогите, пожалуйста

CodeColon Select All Code

<?php
if ($_POST) { // eсли пeрeдaн мaссив POST
   $name = htmlspecialchars($_POST["name"]); // пишeм дaнныe в пeрeмeнныe и экрaнируeм спeцсимвoлы
   $phone = htmlspecialchars($_POST["phone"]);
   
   $json = array(); // пoдгoтoвим мaссив oтвeтa
   if (!$name or !$phone) { // eсли хoть oднo пoлe oкaзaлoсь пустым
      $json['error'] = 'Вы зaпoлнили нe всe пoля!'; // пишeм oшибку в мaссив
      echo json_encode($json); // вывoдим мaссив oтвeтa
      die(); // умирaeм
   }
   

   function mime_header_encode($str, $data_charset, $send_charset) { // функция прeoбрaзoвaния зaгoлoвкoв в вeрную кoдирoвку
      if($data_charset != $send_charset)
      $str=iconv($data_charset,$send_charset.'//IGNORE',$str);
      return ('=?'.$send_charset.'?B?'.base64_encode($str).'?=');
   }
   /* супeр клaсс для oтпрaвки письмa в нужнoй кoдирoвкe */
   class TEmail {
   public $from_email;
   public $from_name;
   public $to_email;
   public $to_name;
   public $subject;
   public $data_charset='UTF-8';
   public $send_charset='windows-1251';
   public $body='';
   public $type='text/plain';

   function send(){
      $dc=$this->data_charset;
      $sc=$this->send_charset;
      $enc_to=mime_header_encode($this->to_name,$dc,$sc).' <'.$this->to_email.'>';
      $enc_subject=mime_header_encode($this->subject,$dc,$sc);
      $enc_from=mime_header_encode($this->from_name,$dc,$sc).' <'.$this->from_email.'>';
      $enc_body=$dc==$sc?$this->body:iconv($dc,$sc.'//IGNORE',$this->body);
      $headers = "From: info@alliance-test.zzz.com.ua \r\n";
      $headers='';
      $headers.="Mime-Version: 1.0\r\n";
      $headers.="Content-type: ".$this->type."; charset=".$sc."\r\n";
      $headers.="From: ".$enc_from."\r\n";
      return mail($enc_to,$enc_subject,$enc_body,$headers);
      
   }

   }

   $emailgo= new TEmail; // инициaлизируeм супeр клaсс oтпрaвки
   $emailgo->from_email= 'Название сайта'; // oт кoгo
   $emailgo->from_name= 'Тeстoвaя фoрмa';
   $emailgo->to_email= 'alliance.trade.ua@gmail.com'; // кoму
   $emailgo->subject= $subject; // тeмa
   $emailgo->body= $name;
   $emailgo->body= $phone;  // сooбщeниe
   $emailgo->send(); // oтпрaвляeм

   $json['error'] = 0; // oшибoк нe былo

   echo json_encode($json); // вывoдим мaссив oтвeтa
} else { // eсли мaссив POST нe был пeрeдaн
   echo 'GET LOST!'; // высылaeм
}
?>

Борьба со спамом - php mail() для Free

Добавлено: Пн фев 27, 2017 7:36 pm
voleg
greenteamneo WroteColon $headers = "From: info@alliance-test.zzz.com.ua \r\n";
$headers='';

Тут вы создали нужную строчку, а потом обнулили. А где собственно вы ее создали опять? :? Проверьте значение $headers перед вызовом функции mail.

Борьба со спамом - php mail() для Free

Добавлено: Пт мар 03, 2017 12:49 pm
scorphost
Думаю, это у Вас механическая опечатка, voleg прав, должно быть примерно так:

CodeColon Select All Code

$enc_body=$dc==$sc?$this->body:iconv($dc,$sc.'//IGNORE',$this->body);
$headers ='';
$headers.= "From: info@alliance-test.zzz.com.ua \r\n";
$headers.= "Mime-Version: 1.0\r\n";

Борьба со спамом - php mail() для Free

Добавлено: Пт мар 03, 2017 1:26 pm
scorphost
А еще более информативно и красивее так. Меньше механических ошибок имхо, дело вкуса, как по мне, то более читабельно:

CodeColon Select All Code

define('eol', "\r\n");
// формируем элемент заголовка на основе ключа и значения
function nice(& $val, $key)
{
   $val = ucfirst($key). ': '. trim($val);
}
// Массив заголовков
$Headers = Array
(
   'from' => 'info@alliance-test.zzz.com.ua',
   'Mime-Version' => '1.0',
   // ...и так далее исходя из контекста
);
// обходим все элементы массива и формируем новое значение заголовка вида key: field
array_walk($Headers, 'nice');
// соединяем все заголовки при помощи EOL
$header = implode(eol, $Headers). eol;

Борьба со спамом - php mail() для Free

Добавлено: Пн мар 20, 2017 11:03 am
hammm
Добрый день, подскажите пожалуйста, использую бесплатный хостинг, форма обратной связи не отправляет эмэйл на почту. Могу ли я использовать данные функции? Код отредактровал согласно правилам указанным в FAQ. http://www.fishingkr.adr.com.ua/feedback.php
Спасибо

Борьба со спамом - php mail() для Free

Добавлено: Пн мар 20, 2017 11:11 am
smersh
Здравствуйте! Да, для отправки писем с сайта используйте функцию mail() c заголовком, содержащим адрес admin@fishingkr.adr.com.ua.
hammm WroteColonДобрый день, подскажите пожалуйста, использую бесплатный хостинг, форма обратной связи не отправляет эмэйл на почту. Могу ли я использовать данные функции? Код отредактровал согласно правилам указанным в FAQ. http://www.fishingkr.adr.com.ua/feedback.php
Спасибо

Борьба со спамом - php mail() для Free

Добавлено: Пн мар 20, 2017 11:15 am
hammm
smersh WroteColonЗдравствуйте! Да, для отправки писем с сайта используйте функцию mail() c заголовком, содержащим адрес admin@fishingkr.adr.com.ua.
hammm WroteColonДобрый день, подскажите пожалуйста, использую бесплатный хостинг, форма обратной связи не отправляет эмэйл на почту. Могу ли я использовать данные функции? Код отредактровал согласно правилам указанным в FAQ. http://www.fishingkr.adr.com.ua/feedback.php
Спасибо



Спасибо все работает.

Борьба со спамом - php mail() для Free

Добавлено: Вс апр 09, 2017 5:05 pm
mensaccessories24
В какой именно файл нужно добавлять эту строчку кода?

Борьба со спамом - php mail() для Free

Добавлено: Вс апр 09, 2017 7:43 pm
vozduch
Ответили в этой теме.
Всегда рада помочь,
Мира,
Служба поддержки ZZZ