2017-06-29 8 views
0

Ich habe ein Swiftmailer PHP-Skript, das wie folgt ausgeführt wird.PHP-Echo-Funktion. Basic

In der Minute ist es der Bildpfad Echo aber ich würde gerne durch das Bild in der E-Mail selbst ziehen.

Ich habe es geschafft, eine separate Version zu bekommen, wo ich den Anhang von Pfad einer Live-URL funktioniert, aber nicht scheinen, herauszufinden, wie man es durch die $ Media-Version statt ziehen kann.

Jede Hilfe würde dankbar geschätzt werden. Vielen Dank.

message = \Swift_Message::newInstance(); 
$message->attach(\Swift_Attachment::fromPath('https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png')) 

     ->setSubject('Form') 
     ->setFrom('[email protected]', 'Test') 
     ->setTo('[email protected]', 'Test Name') 
     ->setContentType("text/html") 

     ->setBody(
      $this->renderView(
       'Contact:Contact:contact.html.twig', 
       array(
        'ip' => $request->getClientIp(), 
        'name' => $form->get('name')->getData(), 
        'email' => $form->get('email')->getData(), 
        'media' => $form->get('media')->getData() 
       ) 
      ) 
     ); 

    # Send message 

    $this->get('mailer') 
     ->send($message); 

Antwort

0

Diese Funktion ist für einen lokalen Pfad. Also musst du das Bild zuerst auf deiner Festplatte speichern. Sie können beispielsweise file_get_contents verwenden, um das Image zu holen und auf Ihrem temporären Pfad zu speichern. Dann können Sie diesen Pfad verwenden und den E-Mail-Anhang senden. Nach dem Senden können Sie das Bild mit unlink entfernen.

Hier ist ein perfektes Beispiel, wie Sie Ihr Formularfeld direkt in Ihren Anhang einfügen.

$message->attach(
    Swift_Attachment::fromPath($_FILES['fileatt']['tmp_name'])->setFilename($_FILES['fileatt']['name']) 
); 

fileatt ist der Name des Formularfelds. Also posten Sie Ihr Formular auf der PHP-Seite und verwenden Sie diesen Anhang.

+0

Hallo, danke für Ihre Antwort. Bitte, hast du ein Beispiel? Ich stecke fest! – Bradley

+0

Hallo, bin mir nicht sicher meine Anfrage viel zu klar. Grundsätzlich habe ich auf Swift_Attachment :: fromPath ('') verwiesen, als wenn ich das Formular an das Bild angehängt habe, was in Ordnung ist. Aber ich versuche, das Bild, das ich tatsächlich in das Formular hochlade, über das Eingabefeld $ media-Eingabedatei einzufügen. In der Minute zieht sich der Bildpfad durch den Server durch. Ich hoffe das hilft? – Bradley

+0

Dann solltest du deine Frage aktualisieren, das sind verschiedene Dinge ... also musst du das Formular mit form fell in ein Verzeichnis mit 'move_uploaded_file' verschieben. – Stony