PDA

Просмотр полной версии : [Вопрос] Mailer script says: Error: Missing parameters



Ne_nub
13.04.2017, 09:54
Всем привет. Возникла такая проблема. Решил я подключить инклуд mailer.inc, чтобы отправлять письма на почту. Все настроил, mailer.php закинул на сервер FTP, в самом инклуде прописал путь к файлу, но теперь он пишет ошибку: Mailer script says: Error: Missing parameters. В чем проблема ?

Вот сам код:


new mail[64];
cache_get_field_content(0, "pEmail", mail);
format(message, sizeof(message), "Тестовое письмо для аккаунта %s", PlayerInfo[playerid][pNames]);
SendMail(mail, "[email protected]", "TEST ROLEPLAY", "Проверка", message);

Redsan
13.04.2017, 10:58
Проблема в обращении к PHP скрипту.

Ne_nub
13.04.2017, 13:57
Вот сам .php файл.


<?php
ini_set( 'html_errors', false );

if ( empty( $_POST[ 't' ] ) || empty( $_POST[ 'f' ] ) || empty( $_POST[ 'n' ] ) || empty( $_POST[ 's' ] ) || empty( $_POST[ 'm' ] ) )
die( 'Error: Missing parameters.' );

mail(
$_POST[ 't' ],
$_POST[ 's' ],
$_POST[ 'm' ],
implode(
"\r\n",
array
(
'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>",
"Reply-To: {$_POST['f']}",
"X-Mailer: PHP/" . phpversion( ),
)
)
);
?>

VVWVV
13.04.2017, 15:39
Ошибка возникает тогда, когда вы не указываете значение для одного из параметров. Вам следует проверить значение массива message.

Ne_nub
13.04.2017, 16:06
Поставил массив так


new message[256];

VVWVV
13.04.2017, 17:05
Поставил массив так


new message[256];

Если в массиве нет значений, то, соответственно, запрос не будет обработан.

Ne_nub
13.04.2017, 19:24
Тогда как решить мою проблему ?

VVWVV
13.04.2017, 20:26
Тогда как решить мою проблему ?

Я думал, что вы сами сможете исправить проблему, потому что я вам даже суть проблемы сказал. Решение заключается в том, что вам нужно заполнить массив message каким-то значением, чтобы параметр "m" не был пустым.

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

Ne_nub
13.04.2017, 22:35
Сделал вот такой код:


new message[MAX_STR], mail[64];
cache_get_field_content(0, "pEmail", mail);
format(message,sizeof(message),"На вашем аккаунте %s был сменен пароль. Если вы этого не делали, то обратитесь в техническую поддержку для восстановления аккаунта.", PlayerInfo[playerid][pNames]);
SendMail(mail, ""Mode_Mail"", "TEST ROLEPLAY", "Смена пароля от аккаунта.", message);

UPD: Заметил, что если изменить mail на "[email protected]", то сообщения приходят свободно. И правильно ли сделана добыча E-Mail игрока из Бд ?

Ne_nub
16.04.2017, 13:38
Поможет кто ?