Ankündigung

Einklappen
Keine Ankündigung bisher.

Emails mit PHP versenden und abrufen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Emails mit PHP versenden und abrufen

    Guten Tag,

    ich würde gerne zu Testzwecken erstmal Emails von einem gmail Konto an ein Hotmail Konto versenden. Später diese aus dem Hotmail Konto auslesen.
    Ist mein Ansatz so in Ordnung ? (Fachinformatiker Azubi mit fast 0 PHP Kenntnissen)

    Dazu habe ich mir ein Linux aufgesetzt und würde gerne die sendemail Funktion nutzen oder benötige ich Xampp mit Mercury ?
    Dort muss ich natürlich den smtp Server + Port und Benutzerdaten eintragen oder kann ich dies direkt im PHP Script einbauen ?

    Wie sage ich dem Script nutze Sendmail / Mercury ?

    Verschicken.

    PHP-Code:
    <?php
    $empfaenger 
    "...@hotmail.com";
    $absendername ="Absender";
    $absendermail "...@gmail.com";
    $betreff "Test";
    $text "Hallo !";
    mail($empfaenger$betreff$text"From: $absendername <$absendermail>");
    ?>
    Nun muss ich eine Verbindung zum Hotmail Konto aufbauen und mir per Pop3 die Mails holen. (soweit bin ich noch nicht.)


    Kann das so laufen oder mache ich schon grundlegend was falsch ? Emails kann ich per sendmail über die Konsole schon verschicken. Soll aber über das Skript laufen ... Lieben Gruß Kleber

  • #2
    mail() bringt nur Ärger, nutze eine Klasse:
    https://php-de.github.io/jumpto/mail-class/

    und in zukunft bitte auch code tags.
    wilkommen im forum.

    Kommentar


    • #3
      Ich weiss nicht ob E-Mail versenden für einen Anfänger das Richtige ist. Was einfach aussieht ist es meist nicht.
      Aber lies dir mal diesen Thread durch,

      Kommentar


      • #4
        Zitat von protestix Beitrag anzeigen
        Ich weiss nicht ob E-Mail versenden für einen Anfänger das Richtige ist. Was einfach aussieht ist es meist nicht.
        Aber lies dir mal diesen Thread durch,
        Emails von einem gmail Konto an ein Hotmail Konto versenden

        scheint mir ehert remote smtp als "local und ohne internet testen". Insofern verstehe ich den zusammenhang nicht.

        Die Installation war nach kurzen Blick auf den Post
        https://www.php.de/forum/webentwickl...19#post1529719
        welcher übringens von Dir ist, wohl recht einfach.

        Kommentar


        • #5
          Moin,

          hab den versenden Part nun fertig und der funktioniert auch.Ich kann die Mails mit einem zweiten Skript auch abholen u. mir printen lassen. Nun mein letztes Problem: ich schicke einen Hashcode sha1(1337) mit und beim abholen soll dieser überprüft werden und daraufhin falls der Code übereinstimmt die Mail löschen. Falls nicht dann soll sie da bleiben.

          Nun wird mir immer ausgegeben, dass der Hashcode stimmt,obwohl ich einen anderen mitsende... zusätzlich fehlt mir dann noch der part lösche die mail wenn der code stimmt aber das denk ich kann man recht leicht über if preg_match= Hashcode stimmt then imap_delete blabla

          Codeschnipsel vom prüfen des Hashcodes.

          PHP-Code:
          $body imap_body($mail$last);  
          print_r($body);
          $pattern"/77ba9cd915c8e359d9733edcfe9c61e5aca92afb/";

          preg_match($pattern$body$matches[1]);
          print_r($matches);

          $string '77ba9cd915c8e359d9733edcfe9c61e5aca92afb';

          if(
          preg_match("/77ba9cd915c8e359d9733edcfe9c61e5aca92afb/",$string)){
          echo 
          'Hashcode stimmt';
          } else
          {
          echo 
          'Hashcode stimmt nicht';

          Danke schonmal für die Hilfe. Falls noch jemand sehen mag wie ein Newbie das am Ende alles zusammengebastelt hat kann ich das gerne posten

          Kommentar


          • #6
            In deinem Beispiel oben ist $body undefiniert und der untere Teil ist ja auch so das es "stimmt". Was sollen wir da an Hand des Codes noch herausfinden? Ich würde statt preg_match() übrigens was anderes nehmen, zB http://php.net/manual/de/function.mb-strpos.php

            Bitte hier im Forum Code-Tags verwenden.
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar

            Lädt...
            X