Neste artigo, nós estamos indo olhar algumas das perguntas freqüentemente feitas a respeito do E-mail e do PHP. Nós começaremos olhando uma edição mais fundamental: como emitir realmente um E-mail como o HTML.
|
|
Como a função do correio de PHP opta a emissão de E-mais lisos do texto a menos que especificada de outra maneira, uma pergunta freqüente é como emitir E-mais do HTML usando a função do correio. O formato para a função do correio é como segue:
mail($to, #, #, #);
a onde $to é o endereço do E-mail a emitir, $subject é a linha sujeita para o E-mail, $message contem a mensagem do E-mail, e $headers contem todos os encabeçamentos que opcionais você puder desejar adicionar.
Para emitir um E-mail que seja reconhecido e tratado como o HTML, você necessita usar dois encabeçamentos especiais:
MIME-Versão: Índice-tipo 1.0: text/html; charset=iso-8859-1
Estes devem ser incluídos na variável de $headers como mostrado no seguinte código completo:
<?php $to = "gareth@myemail.com"; $subject = "isto é um E-mail do HTML"; $message = "< style=\"font-família da extensão: Arial, helvetica, sans-serif; pia-tamanho: 20px; pia-peso: bold(realce); cor: # 009900 \">"; $message. = "esta é uma mensagem do E-mail do HTML"; $message. = "</extensão >"; $headers = "MIME-Versão: 1.0\n "; $headers. = "Índice-tipo: text/html; charset=iso-8859-1\n "; $headers. = "de: gareth<gareth@myemail.com > "; mail($to, #, #, #); ? >
É importante anotar isso para funcionar o código, você necessita mandar um usuário do E-mail ajustar-se acima, assim que é o mais fácil testar este código em seu usuário de anfitrião da correia fotorreceptora.
Enquanto o E-mail está sendo emitido como o HTML, você pode incluir Tag do HTML na mensagem, como mostrado no código precedente. Quando o E-mail é recebido, o E-mail estará rendido como um HTML page (que supõe que o programa do E-mail do usuário tem essa facilidade).
Se você desejar emitir para fora um boletim de notícias a um número de usuários em uma vez, escondendo o E-mail dirige-se assim que o receptor não pode ver quem mais você emitiu o correio, você pode usar o encabeçamento do bcc, que está para "a cópia de carbono cega." Todos os endereços no encabeçamento do bcc serão emitidos a uma cópia do E-mail, mas não podem ver quem foi emitido mais. O seguinte código mostra um exemplo trabalhando, que emita o E-mail a cada endereço na disposição fornecida:
<?php $addresses = array("fred@cemetry.com",
"george@another.com"); ? > <? $to =
"gareth@myemail.co.uk"; $subject = De "Boletim de notícias
PHP"; $message = "este E-mail mostra como usar um
encabeçamento de BCC emitir um boletim de notícias";
$headers. = "de: gareth<gareth@myemail.co.uk>\n ";
$headers. = "bcc: "; $count = 0;
foreach($addresses como o == 0){$headers de
$address){if($count. = #;
}else{$headers. = ",". #; }
$count ++;} $headers. = "\n"; mail($to,
#, #, #); ? >
No código precedente, todos os endereços do E-mail são especificados na disposição de $addresses. Isto podia ser mudado para usar um campo de um recordset começar os endereços do E-mail de uma tabela da base de dados.
Se você estiver emitindo o mesmo E-mail a um grande número usuários, o método precedente é a mais melhor maneira. Isto é porque PHP contata o mail server uma vez, e então o mail server tem o trabalho de emitir o E-mail a todos os endereços do E-mail especificados, que significa que o certificado de PHP termina mais rapidamente e usa poucos recursos.
Se, entretanto, você estiver emitindo um E-mail personalizado, cada E-mail terá que ser emitido individualmente por PHP para adicionar os dados individualized.
Se você estiver emitindo um E-mail personalizado a um grande número usuários, você tem que emitir cada E-mail individualmente, e pode fazer exame de um quando para que o certificado emita para fora todos os E-mais. Isto cría um problema às vezes, porque o certificado pode cronometrar para fora antes que todos os E-mais estejam emitidos.
Para evitar este, você necessita aumentar a quantidade de tempo que o certificado pode funcionar para. O ajuste do defeito é geralmente 30 segundos. Você pode aumentar o limite de tempo para um certificado adicionando o seguinte código ao alto da página:
<?php set_time_limit(5*60); ? >
Isto permitirá que o certificado funcione por até 5 minutos (60 * 5 = 300 segundos).
Online: 511 users browsing the articles directory
|
|