Correio de PHP

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article Original English article
  

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: 1306 users browsing the articles directory