Страница 2 из 9
Борьба со спамом - php mail() для Free
Добавлено: Пн фев 06, 2017 12:38 pm
oa-cru
nikolai2 писал(а):Здравствуйте! подскажите пожалуйста, использую движок 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 данные и отправляет на почту. Хедер для "борьбы со спамом добавил". Скрипт проходит тест и завершается успехом, но на почту сообщения не приходят. Идеи закончились. Помогите, пожалуйста
Код: Выделить всё
<?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
Тут вы создали нужную строчку, а потом обнулили. А где собственно вы ее создали опять?
Проверьте значение $headers перед вызовом функции mail.
Борьба со спамом - php mail() для Free
Добавлено: Пт мар 03, 2017 12:49 pm
scorphost
Думаю, это у Вас механическая опечатка,
voleg прав, должно быть примерно так:
Код: Выделить всё
$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
А еще более информативно и красивее так. Меньше механических ошибок имхо, дело вкуса, как по мне, то более читабельно:
Код: Выделить всё
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 писал(а):Добрый день, подскажите пожалуйста, использую бесплатный хостинг, форма обратной связи не отправляет эмэйл на почту. Могу ли я использовать данные функции? Код отредактровал согласно правилам указанным в FAQ.
http://www.fishingkr.adr.com.ua/feedback.php
Спасибо
Борьба со спамом - php mail() для Free
Добавлено: Пн мар 20, 2017 11:15 am
hammm
smersh писал(а):Здравствуйте! Да, для отправки писем с сайта используйте функцию mail() c заголовком, содержащим адрес
admin@fishingkr.adr.com.ua.
hammm писал(а):Добрый день, подскажите пожалуйста, использую бесплатный хостинг, форма обратной связи не отправляет эмэйл на почту. Могу ли я использовать данные функции? Код отредактровал согласно правилам указанным в 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