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( ),
)
)
);
?>
