Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Отправка письма на почту

Статус
В этой теме нельзя размещать новые ответы.

Trane101

Дебютант
Всем привет!
Пытаюсь сделать отправку сообщений с сервера на электронную почту.
вот код с мода:
Код:
SetPassCode[playerid] = 100000 + random(900000);
SetString(SetPass[playerid], inputtext);
format(string,sizeof(string),"Код подтверждения для смены пароля на %s: %d", inputtext, SetPassCode[playerid]);
 SendMail(PlayerMail[playerid], "admin@server-rp.net", "Server RP", "Смена пароля",string);
format(string,sizeof(string),"{FFFFFF}Пароль: {9ACD32}%s{FFFFFF}\n\n{FFFFFF}На mail {9ACD32}%s{FFFFFF} был выслан код подтверждения.\nВведите его в это окно.\n\n{AFAFAF}Чтобы свернуть игру нажмите Alt + Tab",inputtext,PlayerMail[playerid]);
ShowPlayerDialogEx(playerid,209,1,"Подтверждение",string,"Ок","Отмена");
Вот инклуд на сервере
Код:
#include <a_samp>
#include <a_http>

#define MAILER_URL 		"server-rp.net/mailer.php"
#define MAILER_MAX_MAIL_SIZE  	(1024)

stock SendMail(const szReceiver[ ], const szSenderMail[ ], const szSenderName[ ], const szSubject[ ], const szMessage[ ])
{
	new szBuffer[ MAILER_MAX_MAIL_SIZE ] = "t=",
	iPos = strlen( szBuffer ),
	iLength = strlen( szReceiver );

	memcpy( szBuffer, szReceiver, iPos * 4, ( iLength + 1 ) * 4 );

	StringURLEncode( szBuffer[ iPos ], 1024 - iPos );

	strcat( szBuffer, "&f=" );

	iPos    = strlen( szBuffer );
	iLength = strlen( szSenderName );

	memcpy( szBuffer, szSenderName, iPos * 4, ( iLength + 1 ) * 4 );

	StringURLEncode( szBuffer[ iPos ], 1024 - iPos );

	strcat( szBuffer, "&n=" );

	iPos    = strlen( szBuffer );
	iLength = strlen( szSenderMail );

	memcpy( szBuffer, szSenderMail, iPos * 4, ( iLength + 1 ) * 4 );

	StringURLEncode( szBuffer[ iPos ], 1024 - iPos );

	strcat( szBuffer, "&s=" );

	iPos    = strlen( szBuffer );
	iLength = strlen( szSubject );

	memcpy( szBuffer, szSubject, iPos * 4, ( iLength + 1 ) * 4 );

	StringURLEncode( szBuffer[ iPos ], 1024 - iPos );

	strcat( szBuffer, "&m=" );

	iPos    = strlen( szBuffer );
	iLength = strlen( szMessage );

	memcpy( szBuffer, szMessage, iPos * 4, ( iLength + 1 ) * 4 );

	StringURLEncode( szBuffer[ iPos ], 1024 - iPos );

	HTTP( 0xD00D, HTTP_POST, MAILER_URL, szBuffer, "OnMailScriptResponse" );
}

forward OnMailScriptResponse(iIndex, iResponseCode, const szData[ ]);
public OnMailScriptResponse(iIndex, iResponseCode, const szData[ ])
{
	if(szData[ 0 ])
	{
		printf( "Mailer script says: %s", szData );
	}
}

stock StringURLEncode(szString[ ], iSize = sizeof( szString ))
{
	for ( new i = 0, l = strlen( szString ); i < l; i++ )
	{
		switch ( szString[ i ] )
		{
			case '!', '(', ')', '\'', '*',
			     '0' .. '9',
			     'A' .. 'Z',
			     'a' .. 'z':
			{
				continue;
			}

			case ' ':
			{
				szString[ i ] = '+';

				continue;
			}
		}

		new
			s_szHex[ 8 ]
		;

		if ( i + 3 >= iSize )
		{
			szString[ i ] = EOS;

			break;
		}

		if ( l + 3 >= iSize )
			szString[ iSize - 3 ] = EOS;

		format( s_szHex, sizeof( s_szHex ), "%02h", szString[ i ] );

		szString[ i ] = '%';

		strins( szString, s_szHex, i + 1, iSize );

		l += 2;
		i += 2;

		if ( l > iSize - 1 )
			l = iSize - 1;
	}
}
Вот на форуме скрипт
Код:
<?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' ],
		utf8_encode( $_POST[ 's' ] ),
		$_POST[ 'm' ],
		implode(
			"\r\n",
			array
			(
				'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>",
				"Reply-To: {$_POST['f']}",
				"X-Mailer: PHP/" . phpversion( ),
			)
		)
	);
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу