FuelPHP - Gerenciamento de e-mail
A funcionalidade de e-mail é o recurso mais solicitado em uma estrutura da web. O FuelPHP fornece uma classe de e-mail elegante agrupada como um pacote. É usado para enviar e-mail de texto simples simples, bem como e-mail de texto avançado avançado com vários anexos. Ele suporta os seguintes recursos - e-mails em texto simples, e-mails em HTML, anexos e anexos inline.
Configuração
Para habilitar a funcionalidade de e-mail no aplicativo, precisamos apenas carregar o pacote de e-mail conforme especificado abaixo no arquivo de configuração principal, fuel / app / config / config.php.
'always_load' => array (
'packages' => array (
'email',
),
),
Outra opção é carregar o pacote de e-mail, o próprio controlador da seguinte maneira.
\Package::load('email');
A configuração do e-mail pode ser feita no arquivo de configuração principal e algumas das opções importantes são as seguintes,
driver - Driver de e-mail como smtp
is_html - Se enviar e-mail como conteúdo HTML ou não
priority - Prioridade do email
smtp.host - host do servidor SMTP
smtp.port - porta do servidor SMTP
smtp.username - Nome de usuário do servidor SMTP
smtp.password - senha do servidor SMTP
smtp.timeout - tempo limite de SMTP
smtp.starttls - Se o servidor SMTP precisa do comando STARTTLS
API de email
A seguir estão a API fornecida pela classe de driver de email e email.
forja
Objetivo: Criar uma instância de driver de e-mail. Ele cria o driver com base na configuração ou entrada que recebe. O driver de email fornece recursos para criar e enviar email. Alguns dos possíveis drivers de e-mail sãosmtp, sendmail, mailgun, e mandrill.
Parameter - Nenhum ou conjunto de detalhes de configuração
Returns - Retorna o objeto Email_Driver
Por exemplo,
$email = \Email::forge();
$email = \Email::forge (array(
'driver' => 'smtp',
));
corpo
Purpose - Para definir o corpo da mensagem
Parameter - $ body - corpo da mensagem
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->body('Body message');
//or pass it a View
$email->body(\View::forge('my/view', $data);
alt_body
Purpose - Para definir o corpo da mensagem alternativa
Parameter - $ alt_body - corpo alternativo da mensagem
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->alt_body('Body message');
//or pass it a View
$email->alt_body(\View::forge('my/view', $data);
prioridade
Purpose - Para definir a prioridade do correio
Parameter -
$priority- valor da prioridade. As opções são -
a. \Email::P_LOWEST
* \Email::P_LOW
* \Email::P_NORMAL
* \Email::P_HIGH
* \Email::P_HIGHEST
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->priority(\Email::P_HIGHEST);
html_body
Purpose - Para definir o corpo da mensagem no formato HTML
Parameter -
$html - corpo da mensagem em HTML;
generate_alt - se deve gerar mensagem alternativa;
auto_attach - se deseja incorporar a imagem ou não
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
// Do generate the alt body, but don't auto attach images.
$email->html_body(\View::forge('welcome/email', $data), true, false);
de
Purpose - Para definir o endereço de
Parameters -
$from - do endereço de e-mail;
$name - Nome do remetente
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->from('[email protected]', 'My Name');
sujeito
Purpose - Para definir o assunto da mensagem
Parameter - $ subject - assunto da mensagem de e-mail
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->subject('Suject of the mail message');
para
Purpose - Para definir o endereço de e-mail do destinatário
Parameters -
$email - endereço de e-mail ou matriz de endereço de e-mail;
$name - nome do receptor
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->to('[email protected]', 'My Dear Name');
$email->to (array(
'[email protected]',
'[email protected]' => 'My Dear friend',
));
cabeçalho
Purpose - Para definir o cabeçalho personalizado da mensagem de e-mail
Parameters -
$header - tipo de cabeçalho ou matriz de cabeçalho;
$value - valor do cabeçalho
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email->header('X-SMTPAP', 'XXXXXXXX');
$email>reply_to (array(
'X-SMTPAP' => 'XXXXXX',
'X-SMTPAP2' > 'XXXXXA',
));
anexar
Purpose - Para anexar um arquivo à mensagem de e-mail
Parameters-
$file - caminho do arquivo;
$inline - se deseja anexar o arquivo inline ou não;
$cid - identificador de conteúdo;
$mime - Tipo MIME do arquivo anexo;
$name - substituição do nome do arquivo de anexo
Returns - Retorna a instância atual
Por exemplo,
$email = \Email::forge();
$email>attach(DOCROOT.'attachments/sample_attachment.pdf');
enviar
Purpose - Para enviar o e-mail.
Parameter -
$validate - validar os endereços de e-mail
Returns - verdadeiro ou falso
Por exemplo,
$email = \Email::forge();
try{
$email->send();
} catch(\EmailSendingFailedException $e) {
// The driver could not send the mail.
} catch(\EmailValidationFailedException $e) {
// One or more email addresses failed validation.
}
Amostra de Email Prático
Vamos usar a API aprendida no capítulo anterior e criar um código simples para enviar uma mensagem. A seguir está o código mais simples para enviar uma mensagem.
$email = Email::forge();
$email->from('[email protected]', 'person1');
$email->to('[email protected]', 'person2');
$email->subject('Add something');
$email->body('contents of mail'); $email->send();