Senden Sie E-Mails mit dem GMail-SMTP-Server von einer PHP-Seite

Lesezeit: 7 Minuten

Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
skb

Ich versuche, eine E-Mail über den SMTP-Server von GMail von einer PHP-Seite zu senden, aber ich erhalte diese Fehlermeldung:

Authentifizierungsfehler [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] GRÖSSE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

Kann jemand helfen? Hier ist mein Code:

<?php
require_once "Mail.php";

$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <ramona@microsoft.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "smtp.gmail.com";
$port = "587";
$username = "testtest@gmail.com";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('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>");
 }
?>

1647080647 726 Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
pavan kumar

// Pear Mail Library
require_once "Mail.php";

$from = '<fromaddress@gmail.com>';
$to = '<toaddress@yahoo.com>';
$subject="Hi!";
$body = "Hi,\n\nHow are you?";

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'johndoe@gmail.com',
        'password' => 'passwordxxx'
    ));

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

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

  • was ist Mail.php?? wo bekomme ich diese Datei her?

    – Zain Shaikh

    26. November 2010 um 23:23 Uhr

  • könnte mir bitte jemand einen Link geben, wo ich die Mail.php-Datei bekommen kann. Weil ich es versucht habe und es nicht funktionieren würde Danke

    – Yoosuf

    17. April 2011 um 6:52 Uhr

  • Wo sind die @-Symbole in diesem Beispiel oben? Ich sehe da keinen einzigen!

    – dunkelAsPitch

    30. Juni 2011 um 4:08 Uhr

  • Ich glaube, dass myaccount.gmail.com in den E-Mail-Standards dasselbe ist wie myaccount@gmail.com.

    – Sherwin-Flug

    14. Oktober 2011 um 9:02 Uhr

  • Sie müssen @gmail nicht einschließen, wenn Sie den Server angegeben haben. Tipp einfach myaccount für Benutzername.

    – Jack

    16. April 2012 um 6:08 Uhr

Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
Shasi Kanth

Verwenden Swift-Mailerist es ganz einfach, eine E-Mail über Gmail-Anmeldeinformationen zu senden:

<?php
require_once 'swift/lib/swift_required.php';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
  ->setUsername('GMAIL_USERNAME')
  ->setPassword('GMAIL_PASSWORD');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Test Subject')
  ->setFrom(array('abc@example.com' => 'ABC'))
  ->setTo(array('xyz@test.com'))
  ->setBody('This is a test mail.');

$result = $mailer->send($message);
?>

  • Dies funktionierte “bis zum ersten Mal”, indem nur GMAIL_USERNAME, GMAIL_PASSWORD und die Von- und An-Adressen geändert wurden. Keine andere Lösung hat bei mir funktioniert. Danke.

    – Marco Muciño

    14. Mai 2013 um 18:08 Uhr

  • Ich stimme zu, Swift Mailer ist eine Drop-in-Mail-Lösung, die viel einfacher ist, als mit Pear herumzuspielen. Vergessen Sie nicht, die php_openssl-Erweiterung von PHP zu aktivieren.

    – Sot

    30. Mai 2013 um 4:02 Uhr

  • Gute Lösung mit SwiftMailer! +1

    – Amal Murali

    16. Februar 2014 um 6:16 Uhr


  • arrgh. Ich kann Swiftmailer nicht zum Laufen bringen. Ich weiß nicht, wie man diesen “Composer” benutzt, also habe ich einfach die Swiftmailer-Zip-Datei von Github heruntergeladen, dann habe ich open_ssl aktiviert und dann meine Gmail-E-Mail und mein Passwort angegeben, aber es hat immer noch nicht funktioniert.

    – boi_echos

    14. September 2014 um 13:05 Uhr

  • ach sorry für meine dummheit. Sie müssen Ihr Google Mail-Konto öffnen, da Sie in einer E-Mail aufgefordert werden, “weniger sichere App” zu aktivieren. dann funktioniert es jetzt heheh

    – boi_echos

    14. September 2014 um 13:09 Uhr

Ihr Code scheint TLS (SSL) nicht zu verwenden, was der Fall ist erforderlich, um E-Mails an Google zu senden (und die Ports 465 oder 587 verwenden).

Sie können dies durch Einstellung tun

$host = "ssl://smtp.gmail.com";

Ihr Code sieht verdächtig aus dieses Beispiel was sich auf ssl:// im Hostnamenschema bezieht.

Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
Madan Sapkota

Pear Mail kann ich nicht empfehlen. Es wurde seit 2010 nicht mehr aktualisiert. Lesen Sie auch die Quelldateien; Der Quellcode ist fast veraltet, im PHP 4-Stil geschrieben und es wurden viele Fehler / Bugs gepostet (Google it). Ich verwende SwiftMailer.

Schneller Mailer lässt sich in jede in PHP 5 geschriebene Webanwendung integrieren und bietet einen flexiblen und eleganten objektorientierten Ansatz zum Senden von E-Mails mit einer Vielzahl von Funktionen.

Senden Sie E-Mails mit SMTP, Sendmail, Postfix oder einer eigenen benutzerdefinierten Transportimplementierung.

Unterstützen Sie Server, die Benutzername und Passwort und/oder Verschlüsselung erfordern.

Schützen Sie sich vor Header-Injection-Angriffen, ohne den Inhalt der Anforderungsdaten zu entfernen.

Senden Sie MIME-konforme HTML/mehrteilige E-Mails.

Verwenden Sie ereignisgesteuerte Plugins, um die Bibliothek anzupassen.

Behandeln Sie große Anhänge und Inline-/eingebettete Bilder mit geringer Speichernutzung.

Es ist eine kostenlose und Open Source, die Sie können Laden Sie Swift Mailer herunter und auf Ihren Server hochladen. (Die Funktionsliste wird von der Eigentümer-Website kopiert).

Das funktionierende Beispiel von Gmail SSL/SMTP und Swift Mailer ist hier…

// Swift Mailer Library
require_once '../path/to/lib/swift_required.php';

// Mail Transport
$transport = Swift_SmtpTransport::newInstance('ssl://smtp.gmail.com', 465)
    ->setUsername('username@gmail.com') // Your Gmail Username
    ->setPassword('my_secure_gmail_password'); // Your Gmail Password

// Mailer
$mailer = Swift_Mailer::newInstance($transport);

// Create a message
$message = Swift_Message::newInstance('Wonderful Subject Here')
    ->setFrom(array('sender@example.com' => 'Sender Name')) // can be $_POST['email'] etc...
    ->setTo(array('receiver@example.com' => 'Receiver Name')) // your email / multiple supported.
    ->setBody('Here is the <strong>message</strong> itself. It can be text or <h1>HTML</h1>.', 'text/html');

// Send the message
if ($mailer->send($message)) {
    echo 'Mail sent successfully.';
} else {
    echo 'I am sure, your configuration are not correct. :(';
}

1647080649 169 Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
Deep Raghav

<?php
date_default_timezone_set('America/Toronto');

require_once('class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = "gdssdh";
//$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
//$mail->Host       = "ssl://smtp.gmail.com"; // SMTP server
$mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
$mail->Username   = "user@gmail.com";  // GMAIL username
$mail->Password   = "password";            // GMAIL password

$mail->SetFrom('contact@prsps.in', 'PRSPS');

//$mail->AddReplyTo("user2@gmail.com', 'First Last");

$mail->Subject    = "PRSPS password";

//$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "user2@yahoo.co.in";
$mail->AddAddress($address, "user2");

//$mail->AddAttachment("images/phpmailer.gif");      // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

  • Warum stellt man den Host doppelt ein und welcher ist der richtige?

    – Emil Bergeron

    9. März 2016 um 3:13 Uhr

  • Woher bekomme ich die Datei class.phpmailer.php? Nur Code einzufügen ist nicht so hilfreich. Bitte geben Sie auch mehr Beschreibung für den Code an!

    – GeneCode

    24. Januar 2018 um 1:54 Uhr

  • Während ein Teil der Syntax veraltet ist, war PHPMailer für mich die beste Lösung, +1

    – zoltar

    15. März 2018 um 0:43 Uhr

1647080649 828 Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
Sam Apostel

SwiftMailer kann E-Mail über externe Server versenden.

Hier ist ein Beispiel, das zeigt, wie man einen Gmail-Server verwendet:

require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";

//Connect to localhost on port 25
$swift =& new Swift(new Swift_Connection_SMTP("localhost"));


//Connect to an IP address on a non-standard port
$swift =& new Swift(new Swift_Connection_SMTP("217.147.94.117", 419));


//Connect to Gmail (PHP5)
$swift = new Swift(new Swift_Connection_SMTP(
    "smtp.gmail.com", Swift_Connection_SMTP::PORT_SECURE, Swift_Connection_SMTP::ENC_TLS));

  • Warum stellt man den Host doppelt ein und welcher ist der richtige?

    – Emil Bergeron

    9. März 2016 um 3:13 Uhr

  • Woher bekomme ich die Datei class.phpmailer.php? Nur Code einzufügen ist nicht so hilfreich. Bitte geben Sie auch mehr Beschreibung für den Code an!

    – GeneCode

    24. Januar 2018 um 1:54 Uhr

  • Während ein Teil der Syntax veraltet ist, war PHPMailer für mich die beste Lösung, +1

    – zoltar

    15. März 2018 um 0:43 Uhr

1647080650 45 Senden Sie E Mails mit dem GMail SMTP Server von einer PHP Seite
s01ipsist

Der in der Frage aufgeführte Code erfordert zwei Änderungen

$host = "ssl://smtp.gmail.com";
$port = "465";

Port 465 wird für eine SSL-Verbindung benötigt.

993380cookie-checkSenden Sie E-Mails mit dem GMail-SMTP-Server von einer PHP-Seite

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy