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

Борьба со спамом - 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
greenteamneo писал(а): $headers = "From: info@alliance-test.zzz.com.ua \r\n";
$headers='';
Тут вы создали нужную строчку, а потом обнулили. А где собственно вы ее создали опять? :? Проверьте значение $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