Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_http>
  3.  
  4. #define MAILER_URL "JUSU URL (BE HTTP IR WWW) pvz supergames.lt/mailer.php"
  5. #define MAILER_MAX_MAIL_SIZE (1024)
  6.  
  7. stock SendMail(const szReceiver[ ], const szSenderMail[ ], const szSenderName[ ], const szSubject[ ], const szMessage[ ])
  8. {
  9. new szBuffer[ MAILER_MAX_MAIL_SIZE ] = "t=",
  10. iPos = strlen( szBuffer ),
  11. iLength = strlen( szReceiver );
  12.  
  13. memcpy( szBuffer, szReceiver, iPos * 4, ( iLength + 1 ) * 4 );
  14.  
  15. StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
  16.  
  17. strcat( szBuffer, "&f=" );
  18.  
  19. iPos = strlen( szBuffer );
  20. iLength = strlen( szSenderName );
  21.  
  22. memcpy( szBuffer, szSenderName, iPos * 4, ( iLength + 1 ) * 4 );
  23.  
  24. StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
  25.  
  26. strcat( szBuffer, "&n=" );
  27.  
  28. iPos = strlen( szBuffer );
  29. iLength = strlen( szSenderMail );
  30.  
  31. memcpy( szBuffer, szSenderMail, iPos * 4, ( iLength + 1 ) * 4 );
  32.  
  33. StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
  34.  
  35. strcat( szBuffer, "&s=" );
  36.  
  37. iPos = strlen( szBuffer );
  38. iLength = strlen( szSubject );
  39.  
  40. memcpy( szBuffer, szSubject, iPos * 4, ( iLength + 1 ) * 4 );
  41.  
  42. StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
  43.  
  44. strcat( szBuffer, "&m=" );
  45.  
  46. iPos = strlen( szBuffer );
  47. iLength = strlen( szMessage );
  48.  
  49. memcpy( szBuffer, szMessage, iPos * 4, ( iLength + 1 ) * 4 );
  50.  
  51. StringURLEncode( szBuffer[ iPos ], 1024 - iPos );
  52.  
  53. HTTP( 0xD00D, HTTP_POST, MAILER_URL, szBuffer, "OnMailScriptResponse" );
  54. }
  55.  
  56. forward OnMailScriptResponse(iIndex, iResponseCode, const szData[ ]);
  57. public OnMailScriptResponse(iIndex, iResponseCode, const szData[ ])
  58. {
  59. if(szData[ 0 ])
  60. {
  61. printf( "Mailer script says: %s", szData );
  62. }
  63. }
  64.  
  65. stock StringURLEncode(szString[ ], iSize = sizeof( szString ))
  66. {
  67. for ( new i = 0, l = strlen( szString ); i < l; i++ )
  68. {
  69. switch ( szString[ i ] )
  70. {
  71. case '!', '(', ')', '\'', '*',
  72. '0' .. '9',
  73. 'A' .. 'Z',
  74. 'a' .. 'z':
  75. {
  76. continue;
  77. }
  78.  
  79. case ' ':
  80. {
  81. szString[ i ] = '+';
  82.  
  83. continue;
  84. }
  85. }
  86.  
  87. new
  88. s_szHex[ 8 ]
  89. ;
  90.  
  91. if ( i + 3 >= iSize )
  92. {
  93. szString[ i ] = EOS;
  94.  
  95. break;
  96. }
  97.  
  98. if ( l + 3 >= iSize )
  99. szString[ iSize - 3 ] = EOS;
  100.  
  101. format( s_szHex, sizeof( s_szHex ), "%02h", szString[ i ] );
  102.  
  103. szString[ i ] = '%';
  104.  
  105. strins( szString, s_szHex, i + 1, iSize );
  106.  
  107. l += 2;
  108. i += 2;
  109.  
  110. if ( l > iSize - 1 )
  111. l = iSize - 1;
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement