Enviando e-mails pelo WordPress, com cabeçalhos (headers) personalizados, utilizando a função wp_mail(). Função nativa do WordPress por onde todos os e-mails são enviados.
Conhecendo a função wp_mail
wp_mail( string|array $to, string $subject, string $message, string|array $headers = '', string|array $attachments = array() )
Parâmetros:
- string|array $to: Array ou String com destinatários.
- string $subject: Assunto.
- string $message: Mensagem, Conteúdo do e-mail.
- string|array $headers: Cabeçalhos do e-mail.
- string|array $attachments = array(): Anexos
Enviando o e-mail
Exemplo de envio para múltiplos destinatários.
$to = array("[email protected]","[email protected]"); $subject = 'Assunto'; $message= 'conteúdo'; $header = array('Content-Type: text/html; charset=UTF-8'); $result = wp_mail( $to, $subject, $message, $header ); var-dump($result);
Na variável “header” você pode configurar os cabeçalhos adicionais do seu e-mail, tais como cópia (CC), cópia oculta (CCO), nome e e-mail do remetente (From / From name), entre outros.
Caso o e-mail seja enviado com sucesso, será retornado true ou false.
Headers customizados
Exemplo de “headers” customizado com múltiplas cópias.
$header[] = 'From: Teste <[email protected]>'; $header[] = 'Cc: Roger <[email protected]>'; $header[] = 'Cc: [email protected]';
Exemplo com Cópia oculta:
$header[] = 'Cco: [email protected]';
Responder para “reply-to” personalizado:
$header = array( 'Reply-To: Nome <[email protected]>', );
Um pouco mais sobre a função
WordPress utiliza a classe PHPMailer para enviar e-mails, o qual utiliza a função nativa “mail()” do PHP para realizar os envios.
O servidor de hospedagem deve estar devidamente configurado para que o envio pelo função mail() ocorra sem erro.
Você pode filtrar os erros gerados pelo PHPMailer utilizando o filtro wp_mail_failed.
Servidor de SMTP externo
Caso não seja possível enviar e-mails pelo o seu HOST e você tenha que configurar um SMTP, clique neste link: Configurando envio de e-mail por SMTP autenticado no WordPress para configurar um servidor SMTP externo no seu site WordPress.
Mais exemplos
$to = '[email protected]'; $subject = 'Assunto de teste'; $body = 'conteúdo html <b>de</b> teste'; $headers = array('Content-Type: text/html; charset=UTF-8'); wp_mail( $to, $subject, $body, $headers );
// assumindo que as variaveis $to, $subject, $message foram definidas anteriormente... $headers[] = 'From: Roger <[email protected]>'; $headers[] = 'Cc: Roger 2 <[email protected]>'; $headers[] = 'Cc: [email protected]'; wp_mail( $to, $subject, $message, $headers );