PHP
Nesta página
Envio de e-mails através de formulário PHP
Para realizar o envio de e-mails utilizando PHP no ambiente de hospedagem, é necessário utilizar uma conta de e-mail do próprio domínio.
Por questões de segurança, o servidor de e-mails exige autenticação SMTP para o envio de mensagens. Dessa forma, aplicações PHP não conseguem enviar e-mails utilizando a função mail() sem autenticação.
O exemplo abaixo utiliza a biblioteca PHPMailer para realizar a autenticação SMTP e efetuar o envio da mensagem.
Importante: Faça o download da versão mais recente da biblioteca PHPMailer e extraia os arquivos para uma pasta chamada phpmailer dentro do seu projeto. O exemplo abaixo considera a estrutura padrão da biblioteca, localizada na pasta src.
Clique aqui (https://github.com/PHPMailer/PHPMailer) para fazer o download da biblioteca PHPMailer.
<?php
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
require __DIR__ . '/phpmailer/src/Exception.php';
require __DIR__ . '/phpmailer/src/PHPMailer.php';
require __DIR__ . '/phpmailer/src/SMTP.php';
$mail = new PHPMailer(true);
try {
// Configuração do servidor SMTP
$mail->isSMTP();
$mail->Host = 'mail.seudominio.com.br';
$mail->SMTPAuth = true;
$mail->Username = 'seuemail@seudominio.com.br';
$mail->Password = 'senha-da-conta';
// Conexão criptografada com TLS implícito
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
// Codificação da mensagem
$mail->CharSet = 'UTF-8';
// Remetente
$mail->setFrom(
'seuemail@seudominio.com.br',
'Nome de apresentação'
);
// Destinatário
$mail->addAddress(
'destinatario@destinatario.com.br'
);
// Conteúdo da mensagem
$mail->isHTML(true);
$mail->Subject = 'Assunto do e-mail';
$mail->Body = '<p>Mensagem a ser enviada.</p>';
$mail->AltBody = 'Mensagem a ser enviada.';
$mail->send();
echo 'E-mail enviado com sucesso!';
} catch (Exception $e) {
error_log('Erro no envio SMTP: ' . $mail->ErrorInfo);
echo 'Não foi possível enviar o e-mail. Tente novamente mais tarde.';
}
Por padrão, a hospedagem não exibe os arquivos armazenados dentro de um diretório.
Para habilitar a listagem, acesse o **Gerenciador de Arquivos** do Plesk e crie um arquivo chamado `.htaccess` dentro do diretório desejado.
Adicione o seguinte conteúdo:
```apache
Options +Indexes
```
Após salvar, os arquivos do diretório serão exibidos ao acessar sua URL pelo navegador.
## Ocultar extensões da listagem
Para não exibir determinadas extensões, utilize a diretiva `IndexIgnore`:
```apache
Options +Indexes
IndexIgnore *.jpg *.pdf
```
Nesse exemplo, os arquivos `.jpg` e `.pdf` não serão exibidos na listagem.
> A diretiva `IndexIgnore` apenas oculta os arquivos da listagem. Caso o endereço completo do arquivo seja conhecido, ele ainda poderá ser acessado.
Para desabilitar a listagem, utilize:
```apache
Options -Indexes
```