2026-09-26, 07:23 AM
? email_samp 1.0.0
E-mail (SMTP) direto do servidor — SA-MP e open.mp, o mesmo binário
Email (SMTP) straight from the server — SA-MP and open.mp, the same binary
Download · GitHub · Documentação
E-mail (SMTP) direto do servidor — SA-MP e open.mp, o mesmo binário
Email (SMTP) straight from the server — SA-MP and open.mp, the same binary
Download · GitHub · Documentação
Quote:?? Código de registro, recuperação de senha, aviso para a staff: sempre deu para fazer, mas nunca de dentro do servidor. Era requisição HTTP para um script PHP, PHPMailer do outro lado, um serviço externo no meio — três coisas para manter no ar só para mandar um e-mail. Este plugin fala SMTP e TLS por conta própria, e o envio cabe em uma linha.
?? Registration codes, password resets, staff alerts: always doable, never from inside the server. It meant an HTTP request to a PHP script, PHPMailer on the other end, some external service in between — three moving parts just to send one mail. This plugin speaks SMTP and TLS itself, and sending fits on one line.
Code:
email_setup(); // credenciais do .env, do ambiente ou do smtp.ini
email_send_to("[email protected]", "Bem-vindo", "Sua conta esta pronta.");?? Nada trava. Toda native retorna na hora: o e-mail sai em threads separadas e o resultado volta num callback, então relay lento não segura o tick.
?? Nothing blocks. Every native returns at once: mail leaves on worker threads and the result comes back in a callback, so a slow relay never holds the tick.
Code:
email_send_to(email, "Bem-vindo", corpo, "OnMailSent", "d", playerid);
Email::OnMailSent(success, playerid)
{
SendClientMessage(playerid, -1, success ? ("E-mail enviado.") : ("Falhou."));
return 1;
}? Instalar é copiar um arquivo / Installing is copying one file
?? Sem PHPMailer, sem sendmail, sem OpenSSL no sistema: SMTP e TLS estão compilados dentro do binário. Funciona em host compartilhado, onde você não instala nada. E é um arquivo só para os dois servidores:
?? No PHPMailer, no sendmail, no system OpenSSL: SMTP and TLS are compiled into the binary. Works on shared hosting, where you install nothing. One file, both servers:
- SA-MP — ?? em plugins/, nome no server.cfg / ?? in plugins/, name in server.cfg
- open.mp nativo — ?? em components/, encontrado sozinho / ?? in components/, auto-discovered
- open.mp legacy — ?? o mesmo arquivo em plugins/ / ?? same file in plugins/
?? Dois includes: <email_samp> em snake_case e <email_samp_omp> no estilo Email_SendTo, para quem não quer misturar convenção no gamemode.
?? Two includes: <email_samp> in snake_case and <email_samp_omp> in Email_SendTo style.
✉️ O texto do e-mail fica num arquivo / The wording lives in a file
?? Quem já mandava e-mail pelo PHP tem o .html pronto — ele serve como está. Ou use um .tpl, que carrega assunto, versão texto e versão HTML juntos:
?? If you already sent mail from PHP, your .html works as-is. Or use a .tpl, which carries subject, text and HTML together:
Code:
[subject]
Seu codigo e {codigo}
[text]
Ola {nome}, seu codigo de verificacao e {codigo}.Code:
new msg = email_new();
email_add_to(msg, email);
email_set_template(msg, "mail/registro.tpl");
email_set_var(msg, "nome", nome);
email_set_var(msg, "codigo", "%d", codigo);
email_send(msg);?? Editou o arquivo, o próximo e-mail já sai com o texto novo — sem recompilar, sem reiniciar. E o valor que veio do jogador é escapado sozinho no HTML: nick com <script> chega como texto.
?? Edit the file and the next mail uses it — no recompile, no restart. Player-supplied values are escaped automatically in the HTML part.
? E ainda / And also
- ?? Anexo e imagem embutida / ?? Attachments and inline images — ?? arquivo, texto gerado no gamemode, ou imagem que aparece dentro do HTML / ?? a file, data built in the gamemode, or an image shown inside the HTML
- ?? Ritmo de envio / ?? Paced for real providers — ?? e-mails por minuto, prioridade e nova tentativa em falha temporária: mailing para a base inteira não atrasa o reset de senha de quem está esperando / ?? rate limit, priorities and retries, so a mailing never delays a password reset
- ?? Seguro com o que o jogador digita / ?? Safe with player input — ?? quebra de linha em cabeçalho é recusada (senão um nick vira um Bcc: escondido), endereço é validado de verdade e anexo não sai da pasta do servidor / ?? header injection refused, addresses parsed, attachments sandboxed
- ?? TLS obrigatório / ?? TLS required — ?? se o STARTTLS não subir, o envio falha em vez de mandar a senha em texto claro / ?? if STARTTLS fails, the send fails instead of leaking the password
- ?? Acentuação intacta / ?? Accents survive — ?? nick acentuado chega certo, não como Jo?o / ?? no more Jo?o
- ?? Modo de teste / ?? Dry-run — ?? escreve cada mensagem como .eml em logs/dry-run/ e não conecta: dá para mexer no gamemode sem gastar cota nem mandar e-mail para jogador de verdade / ?? writes each message as an .eml and sends nothing
?? Credenciais ficam fora do código: um .env (via env_samp), variáveis de ambiente, uma URL SMTP ou um smtp.ini — as mesmas chaves em qualquer fonte, e nenhuma delas precisa ir para o repositório.
?? Credentials stay out of the source: a .env, the process environment, an SMTP URL or an smtp.ini — the same keys from any source, and none of them has to reach your repo.
? Links
- Documentação — ?? instalação, configuração, envio, templates, erros e segurança / ?? installation, configuration, sending, templates, errors, security
- Referência da API — ?? as 34 natives, uma a uma / ?? all 34 natives
- Exemplos — ?? comece pelo 00_ready_to_send: um gamemode pronto, com o arquivo do e-mail junto / ?? start with 00_ready_to_send
?? Projeto independente, mantido por uma pessoa. Não é afiliado, endossado nem patrocinado pelo SA-MP, pelo open.mp ou por qualquer provedor de e-mail citado.
?? Independent project, maintained by one person. Not affiliated with or endorsed by SA-MP, open.mp or any email provider mentioned.
?? Dúvidas, sugestões e relatos de bug são bem-vindos — aqui no tópico ou nas issues.
?? Questions, suggestions and bug reports are welcome — here or on GitHub issues.
⭐ github.com/NullSablex/email-samp
?? Questions, suggestions and bug reports are welcome — here or on GitHub issues.
⭐ github.com/NullSablex/email-samp
