mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mailEnvia email codificado

Descrição

mb_send_mail(
    string $to,
    string $subject,
    string $message,
    array|string $additional_headers = [],
    ?string $additional_params = null
): bool

Envia e-mails. Cabeçalhos e mensagens são convertidos e codificados de acordo com a configuração de mb_language(). É uma função wrapper para mail(), então veja também mail() para detalhes.

Parâmetros

to

Os endereços de e-mail para os quais o e-mail será enviado. Múltiplos destinatários podem ser especificados separando cada endereço em to por vírgula. Este parâmetro não é automaticamente codificado.

subject

O assunto do e-mail.

message

A mensagem do e-mail.

additional_headers (opcional)

String ou array a ser inserido no final do cabeçalho do e-mail.

Isso é tipicamente usado para adicionar cabeçalhos extras (De, Cc e Bcc). Múltiplos cabeçalhos extras devem ser separados por um CRLF (\r\n). Valide o parâmetro para não injetar cabeçalhos indesejados por atacantes.

Se um array for passado, suas chaves são os nomes dos cabeçalhos e seus valores são os respectivos valores dos cabeçalhos.

Note:

Ao enviar e-mails, o e-mail deve conter um cabeçalho From. Isso pode ser configurado com o parâmetro additional_headers, ou um padrão pode ser configurado no php.ini.

Falhar em fazer isso resultará em uma mensagem de erro semelhante a Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. O cabeçalho From também define Return-Path no Windows.

Note:

Se as mensagens não forem recebidas, tente usar apenas LF (\n). Alguns agentes de transferência de email Unix (notavelmente » qmail) substituem LF por CRLF automaticamente (o que leva a duplicação de CR se CRLF for usado). Isso deve ser usado apenas como último recurso, pois não está em conformidade com » RFC 2822.

additional_params

additional_params é um parâmetro de linha de comando MTA útil ao definir o cabeçalho Return-Path correto ao usar sendmail.

Este parâmetro é escapado internamente por escapeshellcmd() para evitar a execução de comandos. escapeshellcmd() evita a execução de comandos, mas permite adicionar parâmetros adicionais. Por razões de segurança, este parâmetro deve ser validado.

Como escapeshellcmd() é aplicado automaticamente, alguns caracteres que são permitidos como endereços de e-mail por RFCs da Internet não podem ser usados. Programas que são obrigados a usar esses caracteres mail() não podem ser usados.

O usuário que o servidor da web executa deve ser adicionado como um usuário confiável para o arquivo de configuração do sendmail para evitar a adição de um cabeçalho 'X-Warning' à mensagem quando o remetente do envelope (-f) é definido usando este método. Para usuários do sendmail, este arquivo é /etc/mail/trusted-users.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 additional_params é anulável agora.
7.2.0 O parâmetro additional_headers agora também aceita um array.

Veja Também