Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Como enviar correos dende php en webs.uvigo.es

Contenido

Envío de correo dende PHP en webs.uvigo.es

Datos para o envío de correos:

  • Servidor: localhost.uvigo.es (localhost, ou 127.0.0.1)
  • Tipo de envío: SMTP
  • Autentificación: NON

Envío de correos coa función  mail (PHP)

(info) De ser posible e se é un desenrolo propio recomendamos que empreguen outras alternativas, como a función Mail de PEAR ou librerías como phpmailer.

O envío dende a función mail() de php é sinzelo, pero limitado no tocante ás posibilidades que da. O uso sería como o seguinte

mail1.php
$res = mail ( "destinatario@uvigo.es", "Proba do " .  date("d/m/Y") , "Proba de envio de correo", "From: remitente@uvigo.es\r\nTo: destinatario@uvigo.es\r\nX-Mailer: Prueba 1.0" ) ;
if ( $res == true ) {
  print "OK: Correo enviado <br/>\n" ;
} 
else {
  print "ERRO: Erro o enviar o correo<br/>\n" ;
}

Envío de correos coa clase Mail de PEAR (PHP)

(info) En principio e de ser un desenrolo propio, por ser unha función incluída en PEAR e con bastantes opcións, parece o mecanismo máis axeitado para enviar correos dende PHP.

Recomendamos que se utilice:

  • smtp: Indicar ó crear o obxecto (Mail::factory) que se empregará "smtp"
  • Servidor local: 127.0.0.1, ou "localhost", ou "localhost.uvigo.es"

Ten moitas máis opcións que se poden consultar nesta páxina.

mail2.php
<?php

  require ( "Mail.php" ) ;
  require ( "Mail/mime.php" ) ;

  $message = new Mail_mime();
  $message->setTXTBody ( "Proeba de envio de correos" ) ;
  $mimeparams = array ( "text_encoding" => "7bit", 
                        "text_charset"  => "UTF-8" ) ;
  $headers    = array ( "From" => "remitente@uvigo.es",
                        "To"   => "destinatario@uvigo.es",
                        "Subject" => "Proba de envio de correo " . time(),
                        "X-Mailer"=> "Mi App 1.0",
                        "Return-Path" => "remitente@uvigo.es" ) ; 
  $body    = $message->get ( $mimeparams ) ;
  $headers = $message->headers ( $headers ) ;
  $to      = "destinatario@uvigo.es" ; 

  $smtp = Mail::factory ( 'smtp', array ('host' => "127.0.0.1", 'port'=>25 )) ;
  $mail = $smtp->send ( $to, $headers, $body ) ;

  if ( PEAR::isError ( $mail )) {
    print "ERRO: O enviar o correo <br/>\n" ;
  }
  else {
    print "OK: correo enviado<br/>\n" ;
  }
?>

Envío de correos coa librería phpmailer

Esta é outra opción das moitas que hai para enviar correos dende PHP. Pode descargarse dende este enlace

mail3.php
<?php
    require 'phpmailer/phpmailer.php';

    $mail = new phpmailer();
    $mail->PluginDir = "phpmailer/";

    $mail->Mailer   = "smtp";
    $mail->Host     = "127.0.0.1" ;
    $mail->SMTPAuth = false ;
    $mail->Timeout  = 50 ;

    $mail->From     = "remitente@uvigo.es" ;
    $mail->FromName = "Pedro Palotes" ;
    $mail->AddAddress ( "destinatario@uvigo.es" ) ;
    $mail->AddCC      ( "destinatario1@uvigo.es" ) ;
        
    $mail->Subject = 'Proba de envio de mensaxe do ' . date("d/m/Y");
    $mail->Body    = "Proba de envio de correo." ;

    // Envia a mensaxe
    $res = $mail->Send();

    if ( $res ) {
      print "OK: correo enviado<br/>\n" ;
    } 
    else {
      print "ERRO: O enviar o correo <br/>\n" ;
    }
   
?>
  • No labels