2016-06-30 6 views

Antwort

0

Angenommen, Sie haben bereits PHP installiert haben, können Sie unter Schritte folgen

  1. Elevate Privilegien: Dieser Schritt ist wichtig für Birne Standardverzeichnis installiert werden. Wenn Sie dies überspringen, wird pear im ec2-user-Verzeichnis installiert und ist aufgrund von vielen Besitz- und Berechtigungsproblemen ziemlich unbenutzbar.

    sudo -i

  2. Herunterladen und Installieren Pear
    wget http://pear.php.net/go-pear.phar php go-pear.phar

  3. installieren Mail und Net_SMTP Pakete
    pear install Mail pear install Net_SMTP

Die Installation für UPDA fragen Die Datei php.ini wird angezeigt. Bitte mach das.

0

Ich installierte es gerade heute früher auf meine EC2 Linux-Instanz läuft PHP7 wie folgt:

sudo yum install php7-pear 

Einmal installiert:

pear install Mail 
pear install Net_SMTP 

aber es danach nicht mehr Stück Kuchen war. Ich stieß auf andere Herausforderungen im Zusammenhang mit SMTP-Einstellungen in Bezug auf PHP7 und Postfix, was mir für meinen speziellen Fall etwas harte Zeit bereitete, da ich base64-kodierte Bilder inline aussenden wollte, was anscheinend ein sehr ungewöhnlicher Fall ist, da ich keinen finden konnte helfen Sie überhaupt dafür. Doch für eine einfache E-Mail aussendet, alles, was Sie brauchen, ist der folgende Code:

require_once "Mail.php"; 
$from = "My Name <[email protected]>"; 
$host = "smtp.example.com"; 
$port = "587"; 
$username = "[email protected]"; 
$password = "password"; 
$subject = "Some subject"; 
$headers = array('From' => $from, 'To' => $to, 'Subject' => $subject); 
$body = "\r\n\r\n--" . $boundary . "\r\n"; 
$body .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n"; 
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
$body .= "This is the message body."; 
$body .= "\r\n\r\n--" . $boundary . "\r\n"; 

$smtp = Mail::factory('smtp', array(
      'debug' => true, 
      'host' => $host, 
      'port' => $port, 
      'auth' => true, 
      'username' => $username, 
      'password' => $password)); 

$mail = $smtp->send($to, $headers, $body); 

if (PEAR::isError($mail)) { 
    echo("<p>" . $mail->getMessage() . "</p>"); 
} else { 
    echo("<p>Message successfully sent! </p>"); 
}