Herro[CM] |
Дата: Четверг, 10.09.2015, 14:48 | Сообщение # 1
|
Бывалый
Сообщений: 425
Статус: Offline
|
Данный include позволяет отправлять сообщения на почту.
Использование:
Код SendMail( to[], sender_email[], sender_name[], subject[], message[] );
Сам include
Код #include <a_samp> #include <a_http>
#if ( !defined MAILER_MAX_MAIL_SIZE ) #define MAILER_MAX_MAIL_SIZE (1024) #endif
#if ( !defined MAILER_URL ) #error Please define MAILER_URL before including the mailer include. #endif
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; } }
Mailer.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' ], utf8_encode( $_POST[ 's' ] ), $_POST[ 'm' ], implode( "\r\n", array ( 'From: "' . addslashes( $_POST[ 'f' ] ) . "\" <{$_POST[ 'n' ]}>", "Reply-To: {$_POST['f']}", "X-Mailer: PHP/" . phpversion( ), ) ) ); ?>
Пример функции:
Код #define MAILER_URL "" // Файл mailer.php на вашем сайте
#include <mailer>
public OnFilterScriptInit( ) { SendMail( "e-mail", "E-mail отправителя", "Название", "Тема сообщения", "Текст сообщения" ); }
Когда нет знания, есть мнение.
Сообщение отредактировал Herro[CM] - Четверг, 10.09.2015, 14:49 |
|
|
|
[CM]Kingster |
Дата: Четверг, 10.09.2015, 15:56 | Сообщение # 2
|
Боец
Сообщений: 245
Статус: Offline
|
Можно использовать для подтверждения почты, к примеру как на ARP / DRP. Но вроде на mail.ru почту не приходит ?
Пользователь Cheat - Master уже 400 дней.
Я в Контакте - vk.com/buddy_fly
|
|
|
|
Плисс |
Дата: Вторник, 19.07.2016, 21:07 | Сообщение # 3
|
Боец
Сообщений: 70
Статус: Offline
|
Кросс,полезная темка!
|
|
|
|