←  [RSS] Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ANY] SMTP mail tool.

Adminek AMXX.PL's Photo Adminek AMXX.PL 28.12.2023

<div><b><font size="5"><font face="Century Gothic"><div align="center">SMTP mail plugin<font size="3">(linux only)</font></div></font></font></b><br /><ul><li> <b><font size="4">Introduction:</font></b><br /><font face="Arial"><font size="3">Since the method provided by curl.ext is not easy to use, i extracted the SMTP function from it and made it into a methodmap. Now it is easy to use plugin to send mail!.</font></font><br /><br /><br /></li>
<li> <b><font size="4">Example:</font></b><br /><br />We now only use a SMTP handle to do the job and use a callback to get the result.<br /><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">PHP Code:</div>
<div class="alt2">
<hr />
<code style="white-space:nowrap">
<div dir="ltr" style="text-align:left;">
<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB">Action&nbsp;Cmd_Status</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;client</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;args</span><span style="color: #007700">)
<br />{
<br />&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">client&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">client&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">MaxClients&nbsp;</span><span style="color: #007700">||&nbsp;!</span><span style="color: #0000BB">IsClientInGame</span><span style="color: #007700">(</span><span style="color: #0000BB">client</span><span style="color: #007700">)&nbsp;||&nbsp;</span><span style="color: #0000BB">IsFakeClient</span><span style="color: #007700">(</span><span style="color: #0000BB">client</span><span style="color: #007700">)&nbsp;)
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">Plugin_Handled</span><span style="color: #007700">;
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SMTP&nbsp;mail&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SMTP</span><span style="color: #007700">(</span><span style="color: #0000BB">smtp_host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">smtp_port</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">SetVerify</span><span style="color: #007700">(</span><span style="color: #0000BB">smtp_encryption</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">smtp_verifyhost</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">smtp_verifypeer</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">SetSender</span><span style="color: #007700">(</span><span style="color: #0000BB">account_username</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">account_password</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">SetTitle</span><span style="color: #007700">(</span><span style="color: #DD0000">"mail&nbsp;title"</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">AppendInfo</span><span style="color: #007700">(</span><span style="color: #DD0000">"your&nbsp;mail&nbsp;info&nbsp;first&nbsp;line"</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">AppendInfo</span><span style="color: #007700">(</span><span style="color: #DD0000">"your&nbsp;mail&nbsp;info&nbsp;second&nbsp;line"</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">AppendInfo</span><span style="color: #007700">(</span><span style="color: #DD0000">"your&nbsp;mail&nbsp;info&nbsp;third&nbsp;line"</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">AddRecipient</span><span style="color: #007700">(</span><span style="color: #DD0000">"[email protected]"</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">AddRecipient</span><span style="color: #007700">(</span><span style="color: #DD0000">"[email protected]"</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mail</span><span style="color: #007700">.</span><span style="color: #0000BB">Send</span><span style="color: #007700">(</span><span style="color: #0000BB">MailSendResult</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">Plugin_Handled</span><span style="color: #007700">;
<br />}
<br /></span><span style="color: #0000BB">void&nbsp;MailSendResult</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;code</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">message</span><span style="color: #007700">)
<br />{
<br />&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">code&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">SEND_SUCCESS&nbsp;</span><span style="color: #007700">)
<br />&nbsp;&nbsp;&nbsp;&nbsp;{
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">LogError</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">);
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;
<br />&nbsp;&nbsp;&nbsp;&nbsp;}
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">LogMessage</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">);
<br />}&nbsp;
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></li>
<li> <b><font size="4">Methodmap and Inc:</font></b><br /><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">PHP Code:</div>
<div class="alt2">
<hr />
<code style="white-space:nowrap">
<div dir="ltr" style="text-align:left;">
<!-- php buffer start --><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/**&nbsp;Double-include&nbsp;prevention&nbsp;*/
<br />#if&nbsp;defined&nbsp;_miuwiki_smtp_included_
<br />&nbsp;&nbsp;#endinput
<br />#endif
<br />#define&nbsp;_miuwiki_smtp_included_
<br />
<br />#define&nbsp;SEND_SUCCESS&nbsp;67
<br />
<br /></span><span style="color: #0000BB">enum&nbsp;Encryption
<br /></span><span style="color: #007700">{
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Encryption_None</span><span style="color: #007700">,
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Encryption_STARTTLS</span><span style="color: #007700">,
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Encryption_SSL
<br /></span><span style="color: #007700">}
<br />
<br /></span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Init&nbsp;a&nbsp;curl&nbsp;to&nbsp;use&nbsp;smtp&nbsp;tools.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;send_code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;curl&nbsp;code&nbsp;of&nbsp;the&nbsp;send&nbsp;result.&nbsp;check&nbsp;it's&nbsp;means&nbsp;in&nbsp;curl_header.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;message&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message&nbsp;of&nbsp;this&nbsp;send,&nbsp;it&nbsp;is&nbsp;error&nbsp;on&nbsp;fail&nbsp;and&nbsp;a&nbsp;message&nbsp;on&nbsp;success.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br /></span><span style="color: #0000BB">typeset&nbsp;MailSendCallback&nbsp;
<br /></span><span style="color: #007700">{
<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;send_code</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">message</span><span style="color: #007700">);
<br />};
<br />
<br /></span><span style="color: #0000BB">methodmap&nbsp;SMTP&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">Handle
<br /></span><span style="color: #007700">{
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Init&nbsp;a&nbsp;curl&nbsp;to&nbsp;use&nbsp;smtp&nbsp;tools.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SMTP&nbsp;host
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SMTP&nbsp;port
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;timeout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Time&nbsp;to&nbsp;start&nbsp;a&nbsp;curl
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;connect_timeout&nbsp;&nbsp;Time&nbsp;to&nbsp;check&nbsp;a&nbsp;send&nbsp;mail&nbsp;is&nbsp;complete&nbsp;or&nbsp;not
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;verbosity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start&nbsp;curl&nbsp;debug&nbsp;or&nbsp;not.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;handle&nbsp;of&nbsp;the&nbsp;curl&nbsp;to&nbsp;use&nbsp;SMTP.&nbsp;or&nbsp;invalid_handle&nbsp;on&nbsp;fail.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;SMTP</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">host</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;port</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;timeout&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">30</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;connect_timeout&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;verbosity&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;the&nbsp;smtp&nbsp;protocol&nbsp;and&nbsp;verify&nbsp;mode&nbsp;in&nbsp;the&nbsp;curl.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;SMTP&nbsp;server&nbsp;encryption&nbsp;type,&nbsp;usually&nbsp;use&nbsp;SSL
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;verifyhost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;SMTP&nbsp;server&nbsp;need&nbsp;verify&nbsp;host?&nbsp;Most&nbsp;of&nbsp;time&nbsp;it&nbsp;is&nbsp;2.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;verifypeer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;SMTP&nbsp;server&nbsp;need&nbsp;verify&nbsp;peer?&nbsp;if&nbsp;set&nbsp;to&nbsp;1,&nbsp;need&nbsp;ca-bundle.crt.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;on&nbsp;success.&nbsp;false&nbsp;if&nbsp;something&nbsp;cause&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;SetVerify</span><span style="color: #007700">(</span><span style="color: #0000BB">Encryption&nbsp;type</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;verifyhost&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;verifypeer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;the&nbsp;username&nbsp;and&nbsp;password&nbsp;of&nbsp;the&nbsp;sender.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;username&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SMTP&nbsp;username&nbsp;to&nbsp;login.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SMTP&nbsp;password.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;on&nbsp;success.&nbsp;false&nbsp;if&nbsp;something&nbsp;cause&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;SetSender</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">username</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">password</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;the&nbsp;mail&nbsp;titile,&nbsp;can&nbsp;hold&nbsp;512&nbsp;byte.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;title&nbsp;of&nbsp;the&nbsp;mail.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;on&nbsp;success.&nbsp;false&nbsp;if&nbsp;something&nbsp;cause&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;SetTitle</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">title</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;the&nbsp;infomation&nbsp;of&nbsp;the&nbsp;mail,&nbsp;can&nbsp;hold&nbsp;512&nbsp;byte.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;buffer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;infomation&nbsp;to&nbsp;send,&nbsp;always&nbsp;start&nbsp;on&nbsp;a&nbsp;new&nbsp;line.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@note&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;must&nbsp;call&nbsp;SetTitle()&nbsp;before&nbsp;append&nbsp;your&nbsp;info&nbsp;in&nbsp;the&nbsp;mail!
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;on&nbsp;success.&nbsp;false&nbsp;if&nbsp;something&nbsp;cause&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;AppendInfo</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">buffer</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;recipients&nbsp;for&nbsp;emails,&nbsp;one&nbsp;email&nbsp;can&nbsp;have&nbsp;multiple&nbsp;recipients.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;email&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;email&nbsp;addres&nbsp;that&nbsp;recive&nbsp;the&nbsp;mail.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@note&nbsp;Please&nbsp;confirm&nbsp;the&nbsp;recipient&nbsp;before&nbsp;adding,&nbsp;and&nbsp;be&nbsp;careful&nbsp;not&nbsp;to&nbsp;fill&nbsp;in&nbsp;an&nbsp;empty&nbsp;string,&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;otherwise&nbsp;the&nbsp;email&nbsp;will&nbsp;not&nbsp;be&nbsp;sent
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;on&nbsp;success.&nbsp;false&nbsp;if&nbsp;something&nbsp;cause&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;AddRecipient</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">[]&nbsp;</span><span style="color: #0000BB">email</span><span style="color: #007700">);
<br />
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Send&nbsp;the&nbsp;mail&nbsp;through&nbsp;the&nbsp;curl&nbsp;handle.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;callback&nbsp;The&nbsp;callback&nbsp;function&nbsp;of&nbsp;the&nbsp;send&nbsp;result.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@note&nbsp;The&nbsp;handle&nbsp;will&nbsp;auot&nbsp;delete&nbsp;when&nbsp;send&nbsp;complete&nbsp;even&nbsp;if&nbsp;it&nbsp;get&nbsp;wrong.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't&nbsp;delete&nbsp;it&nbsp;after&nbsp;this&nbsp;function.
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;
<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;True&nbsp;if&nbsp;success,&nbsp;false&nbsp;otherwise.
<br />&nbsp;&nbsp;&nbsp;&nbsp;*/
<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">native&nbsp;bool&nbsp;Send</span><span style="color: #007700">(</span><span style="color: #0000BB">MailSendCallback&nbsp;callback</span><span style="color: #007700">);
<br />}&nbsp;
<br /></span><span style="color: #0000BB"></span>
</span>
</code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></li>
<li> <b><font size="4">Picture:</font></b><br /><br /><font size="3">Well it looks like a little concise..</font><br /><br /><br /><a href="https://forums.allie...hmentid=202685"target="_blank" title="Name:
Views:
Size: ">Attachment 202685</a><br /><br /><i>Recently somebody find that split pack attack is still in L4D2 server, which make it easy to attack other server and make it lagges by some invalid pack. If someone can contact valve please tell them fix that bug as soon as possible! ( 2023.12.29 - 03 : 37 : 18 )</i><br /><br /></li>
<li> <b><font size="4">Download &amp; Note:</font></b><br /><br />!! Most of the char is limit in 512 byte. If your mail lose some character maybe that you overcome the max size of buffer.<br /><br />!! Don't delete handle after use Send(), handle delete automatically after the callback function is fired.<br /><br />!! I only test it in L4D2, but curl.ext seems can be load in all source game. So it is possible to use it in the other game.<br /><br /><b><br />download</b>Please go to <a href="https://github.com/M...TP-mail-plugin"target="_blank" rel="nofollow noopener">Github </a>to get the zip.<br /><br /></li>
<li> <b><font size="4">Thanks:</font></b><br /><br />@<b>raydan </b>make the <a href="https://forums.allie...d.php?t=152216"target="_blank" rel="noopener">curl</a><br />@sapphonie fork the old curl and update it<br />@<b>Peace-Maker</b> give the example to show how to send mail<br /></li>
</ul></div>


<br /> <div style="padding:6px">


<fieldset class="fieldset">
<legend>Attached Thumbnails</legend>
<div style="padding:3px">

<a href="https://forums.allie...8;d=1703791875"rel="Lightbox_2815083" id="attachment202685"><img class="thumbnail" src="https://forums.alliedmods.net/attachment.php?attachmentid=202685&amp;stc=1&amp;thumb=1&amp;d=1703791875" border="0" alt="Click image for larger version

Name: QQ图片20231229033019.png
Views: N/A
Size: 58.0 KB
ID: 202685" /></a>
&nbsp;

</div>
</fieldset>








</div>

Wyświetl pełny artykuł
Quote