Correio de PHP

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 eu emito 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).

Como eu emito um boletim de notícias com PHP?

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.

Como eu paro um certificado de cronometrar para fora ao emitir muitos E-mais?

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).

este é um artigo adicionado por Stratus Huo Quan


Disclaimer: Nosso Web site não é responsável para a informação contida por este artigo. Este artigo em nenhuma maneira reflete as vistas, as opiniões, os pensamentos ou a opinião da equipe de funcionários do diretório dos artigos.

Observação da tradução: O artigo de "correio PHP" foi traduzido usando um serviço de tradução automatizado. Nós desculpamo-nos sincerely por todos os erros da tradução que ocorram. Obrigado compreendendo.

Online: 511 users browsing the articles directory