-
PHP - Fundamentos Básicos
-
Lecture 1PHP – Tutorial
-
Lecture 2PHP – Introdução
-
Lecture 3PHP – Configuração de Ambiente
-
Lecture 4PHP – Visão geral da sintaxe
-
Lecture 5PHP – Tipos de Variáveis
-
Lecture 6PHP – Tipos de Constantes
-
Lecture 7PHP – Tipos de Operadores
-
Lecture 8PHP – Tomada de Decisão
-
Lecture 9PHP – Tipos de Loop
-
Lecture 10PHP – Arrays
-
Lecture 11PHP – Strings
-
Lecture 12PHP – Conceitos Web
-
Lecture 13PHP – Métodos GET e POST
-
Lecture 14PHP – Inclusão de Arquivo
-
Lecture 15PHP – Arquivos e I/O
-
Lecture 16PHP – Funções
-
Lecture 17PHP – Cookies
-
Lecture 18PHP – Sessions
-
Lecture 19PHP – Enviando e-mails usando PHP
-
Lecture 20PHP – upload de arquivo
-
Lecture 21PHP – Padrão de Codificação
-
PHP – Enviando e-mails usando PHP
O PHP deve ser configurado corretamente no arquivo php.ini com os detalhes de como seu sistema envia e-mail. Abra o arquivo php.ini disponível no diretório / etc / e encontre a seção intitulada [função de correio].
Os usuários do Windows devem garantir que duas diretivas sejam fornecidas. O primeiro é chamado de SMTP, que define o endereço do seu servidor de e-mail. O segundo é chamado sendmail_from que define seu próprio endereço de e-mail.
A configuração do Windows deve ser semelhante a esta:
[mail function] ; For Win32 only. SMTP = smtp.secureserver.net ; For win32 only sendmail_from = webmaster@johnpires.com
Os usuários do Linux simplesmente precisam informar ao PHP a localização de seu aplicativo sendmail. O caminho e quaisquer opções desejadas devem ser especificados para a diretiva sendmail_path.
A configuração do Linux deve ser parecida com esta:
[mail function] ; For Win32 only. SMTP = ; For win32 only sendmail_from = ; For Unix only sendmail_path = /usr/sbin/sendmail -t -i
Enviando e-mail de texto simples
O PHP usa a função mail () para enviar um e-mail. Esta função requer três argumentos obrigatórios que especificam o endereço de e-mail do destinatário, o assunto da mensagem e a mensagem real. Além disso, existem outros dois parâmetros opcionais.
mail( to, subject, message, headers, parameters );
Aqui está a descrição de cada parâmetro.
- to – Obrigatório. Especifica o destinatário / destinatários do e-mail
- subject – Obrigatório. Especifica o assunto do email. Este parâmetro não pode conter caracteres de nova linha
- message – Obrigatório. Define a mensagem a ser enviada. Cada linha deve ser separada por um LF ( n). As linhas não devem exceder 70 caracteres
- headers – Opcional. Especifica cabeçalhos adicionais, como From, Cc e Bcc. Os cabeçalhos adicionais devem ser separados por um CRLF ( r n)
- parameters – Opcional. Especifica um parâmetro adicional para o programa de envio de email
Assim que a função de e-mail for chamada, o PHP tentará enviar o e-mail e retornará verdadeiro se for bem-sucedido ou falso se falhar.
Vários destinatários podem ser especificados como o primeiro argumento para a função mail () em uma lista separada por vírgulas.
Enviando e-mail HTML
Ao enviar uma mensagem de texto usando PHP, todo o conteúdo será tratado como texto simples. Mesmo se você incluir tags HTML em uma mensagem de texto, ela será exibida como texto simples e as tags HTML não serão formatadas de acordo com a sintaxe HTML. Mas o PHP oferece a opção de enviar uma mensagem HTML como uma mensagem HTML real.
Ao enviar uma mensagem de e-mail, você pode especificar uma versão Mime, tipo de conteúdo e conjunto de caracteres para enviar um e-mail em HTML.
Exemplo
O exemplo a seguir enviará uma mensagem de e-mail em HTML para abc@seudominio.com copiando-a para cbd@outrodominio.com. Você pode codificar este programa de forma que ele receba todo o conteúdo do usuário e envie um e-mail.
<html> <head> <title>Sending HTML email using PHP</title> </head> <body> <?php $to = "abc@seudominio.com"; $subject = "This is subject"; $message = "<b>This is HTML message.</b>"; $message .= "<h1>This is headline.</h1>"; $header = "From:cbd@outrodominio.com rn"; $header .= "Cc:afgh@somedomain.com rn"; $header .= "MIME-Version: 1.0rn"; $header .= "Content-type: text/htmlrn"; $retval = mail ($to,$subject,$message,$header); if( $retval == true ) { echo "Message sent successfully..."; }else { echo "Message could not be sent..."; } ?> </body> </html>
Enviando anexos com e-mail
Para enviar um e-mail com conteúdo misto, é necessário definir o cabeçalho do tipo de conteúdo como multipart / misto. Então, as seções de texto e anexo podem ser especificadas dentro dos limites.
Um limite é iniciado com dois hifens seguidos por um número exclusivo que não pode aparecer na parte da mensagem do e-mail. Uma função PHP md5 () é usada para criar um número hexadecimal de 32 dígitos para criar um número único. Um limite final denotando a seção final do e-mail também deve terminar com dois hifens.
<?php // request variables // important $from = $_REQUEST["from"]; $emaila = $_REQUEST["emaila"]; $filea = $_REQUEST["filea"]; if ($filea) { function mail_attachment ($from , $to, $subject, $message, $attachment){ $fileatt = $attachment; // Path to the file $fileatt_type = "application/octet-stream"; // File Type $start = strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1; $fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment $email_from = $from; // Who the email is from $subject = "New Attachment Message"; $email_subject = $subject; // The Subject of the email $email_txt = $message; // Message that the email has in it $email_to = $to; // Who the email is to $headers = "From: ".$email_from; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $msg_txt="nn You have recieved a new attachment message from $from"; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "nMIME-Version: 1.0n" . "Content-Type: multipart/mixed;n" . " boundary="{$mime_boundary}""; $email_txt .= $msg_txt; $email_message .= "This is a multi-part message in MIME format.nn" . "--{$mime_boundary}n" . "Content-Type:text/html; charset = "iso-8859-1"n" . "Content-Transfer-Encoding: 7bitnn" . $email_txt . "nn"; $data = chunk_split(base64_encode($data)); $email_message .= "--{$mime_boundary}n" . "Content-Type: {$fileatt_type};n" . " name = "{$fileatt_name}"n" . //"Content-Disposition: attachment;n" . //" filename = "{$fileatt_name}"n" . "Content-Transfer-Encoding: base64nn" . $data . "nn" . "--{$mime_boundary}--n"; $ok = mail($email_to, $email_subject, $email_message, $headers); if($ok) { echo "File Sent Successfully."; unlink($attachment); // delete a file after attachment sent. }else { die("Sorry but the email could not be sent. Please go back and try again!"); } } move_uploaded_file($_FILES["filea"]["tmp_name"], 'temp/'.basename($_FILES['filea']['name'])); mail_attachment("$from", "youremailaddress@gmail.com", "subject", "message", ("temp/".$_FILES["filea"]["name"])); } ?> <html> <head> <script language = "javascript" type = "text/javascript"> function CheckData45() { with(document.filepost) { if(filea.value ! = "") { document.getElementById('one').innerText = "Attaching File ... Please Wait"; } } } </script> </head> <body> <table width = "100%" height = "100%" border = "0" cellpadding = "0" cellspacing = "0"> <tr> <td align = "center"> <form name = "filepost" method = "post" action = "file.php" enctype = "multipart/form-data" id = "file"> <table width = "300" border = "0" cellspacing = "0" cellpadding = "0"> <tr valign = "bottom"> <td height = "20">Your Name:</td> </tr> <tr> <td><input name = "from" type = "text" id = "from" size = "30"></td> </tr> <tr valign = "bottom"> <td height = "20">Your Email Address:</td> </tr> <tr> <td class = "frmtxt2"><input name = "emaila" type = "text" id = "emaila" size = "30"></td> </tr> <tr> <td height = "20" valign = "bottom">Attach File:</td> </tr> <tr valign = "bottom"> <td valign = "bottom"><input name = "filea" type = "file" id = "filea" size = "16"></td> </tr> <tr> <td height = "40" valign = "middle"><input name = "Reset2" type = "reset" id = "Reset2" value = "Reset"> <input name = "Submit2" type = "submit" value = "Submit" onClick = "return CheckData45()"></td> </tr> </table> </form> <center> <table width = "400"> <tr> <td id = "one"> </td> </tr> </table> </center> </td> </tr> </table> </body> </html>