Bild per eMail verschicken

Hallo,

gibt’s ne Möglichkeit, dass ich über meine Status-eMails (via SMTP_Sendmail) auch ein Bild (jpeg) verschicken kann (und nicht nur Text)?

Gruß
hardlog


SMTP_SendMailAttachment($instanzid, $betreff, $message, $file);  

Super,

Danke

Hi,

funzt prima.

Kann man auch mehrere Files mit schicken?

Habe das mal mit einem Array probiert.
Bricht aber mit einer Fehlermeldung ab.

Warning: Wrong parameter type for smtp_sendmailattachment() in [.Scripte (Test)\Test] on line x

Hat einer eine Idee?

MCS-51

Kann man auch mehrere Files mit schicken?

Ja, einfach ein Schleife verwenden.

Hallo Thomas,

gibt es eine Möglichkeit eine Email mit Bild an eine bestimmte Adresse
zu versenden (so eine Art SMTP_SendMailEx mit Anhang) oder muss ich 2 Instanzen anlegen.

Ich verschicke Anhaenge mit

SMTP_SendMailAttachment($smtp_id,$subject,$text,$anhang);

SMTP_SendMailAttachmentEx ist das Zauberwort.:wink:

Das steht aber nicht in der Doku. :slight_smile:

Noch eine Frage an den grossen Nagus,
ich biete 1 Barren goldgepresstes Latinum für die Antwort. :smiley:

Ich werte Mails aus die an den IPS Server geschickt werden und diesen zum Neustart bringen. (Account ist gmx) Das Problem ist das er die gleiche Mail nach den Neustart nochmal empfängt obwohl die schon verarbeitet worden ist. Entweder löscht er sie nicht vom Server oder sie steht noch im Cache. Wie kann ich den Cache löschen oder die Mail vom Mailserver(gmx) löschen das sie nicht nochmal verarbeitet wird.

Ich habe mich dann an gmx angemeldet und die Mail von Hand gelöscht dann wurde IPS nicht neu gestartet.

IMAP oder POP3 und wie sieht das Script aus?

Ich glaube es gefunden zu haben. Der Server wird zu schnell beendet (kill).

Das System hat die Daten noch nicht von Server gelöscht da die Verbindung abbricht.

Ich habe ein sleep eingebaut und beobachte es.

Gibt es einen Befehl zum löschen der empfangenen Emails vom Server?

Ich habe GMX und pop3.

Wie ist das gemeint?
Wen ich den Befehl in die Schleife setze bekomme ich mehrere Mails.

Oder soll ich den Parameter 4 „File Src“ in Schleife setzen?? Wen ja wie geht den das?

Stehe da was auf dem schlauch.

Danke Nick

Wen ich den Befehl in die Schleife setze bekomme ich mehrere Mails.

So war das gemeint.:wink:

Also geht es auf gut Deutsch nicht, mehrere Dateien an eine E-Mail zu hängen. Richtig? :frowning:

Wen das so ist, wan geht das den ??? :D:D

Hallo,

ich baue mir per PHP-Skript aus mehreren Bildern (von Überwachungskameras) erst ein einziges Bild zusammen und verschicke das dann.
Hier das Snippet, vielleicht hilft Dir das:

$camIPs = array(„207“, „201“, „206“, „205:8085“, „213:8083“, „208“);
$camsCount = count($camIPs);
$aim = @ImageCreateTruecolor(640, $camsCount * 480);

for ($i = 0; $i < $camsCount; $i++) {
$im = @ImageCreateFromJPEG („http://192.168.2.“ . $camIPs[$i] . „/jpg/image.jpg“);
if (!$im) { $im = ImageCreate (640, 480); }
$y = $i * 480;
ImageCopy($aim, $im, 0, $y, 0, 0, 640, 480);
ImageDestroy($im);
}

$filenameCams = IPS_GetKernelDir() . „/cams/camsAll_“ . date(„YmdHis“) . „.jpg“;
ImageJpeg($aim, $filenameCams);
ImageDestroy($aim);

SMTP_SendMailAttachmentEx(55568 /[Objekte\Dachgeschoss\Büro\E-Mail\E-Mail senden (SMTP)]/, „name@empfaenger.de“, „Status“, $content, $filenameCams);

Viele Grüße
Wolfgang

Ist natürlich ein Ansatz. Danke Wolfgang.
Das wird vorübergehend eine Lösung darstellen.
Ziel sollte aber sein mehrere Dateien anhängen und an mehrerer Adressen senden zu können.
Entweder das man das „Attachment“ Statement und das Recipient Statement als Array oder Komma getrennten String übergeben kann.
Beispiel:
SMTP_SendMailAttachmentEx(12345, “max1@muster.de, max2@muster.de, max1@muster.de”, “Betreff”,”Mail Content”,” Attachment_Pfad_Array”);
Ist aber um nur mal eben eine Mail zu senden umständlich.
Besser wer um die Methode nicht anpassen zu müssen eine weitere Methode;
Beispiel:


$Mail_ID =  SMTP_CreateMail( integer $InstanzID , string $Betreff , string $Text );
SMTP_Add Recipient($Mail_ID,” max1@muster.de” );
SMTP_Add Recipient($Mail_ID,” max2@muster.de”, “CC”);
SMTP_Add Recipient($Mail_ID,” max2@muster.de” , “BCC”);
SMTP_Add Attachment ($Mail_ID , string $DateiPfad1);
SMTP_Add Attachment ($Mail_ID , string $DateiPfad2);
SMTP_Add Attachment ($Mail_ID , string $DateiPfad2);
SMTP_SendMail(($Mail_ID);

So ähnlich habe ich das bei mir in einer Klasse verwurstet.

Gruß Nick

Hallo
Brauch (möchte) genau sowas, nur bring ich´s nicht zum laufen. Bitte eine kleine Anleitung zum deinem Script.

bekomm schon ein Mail mit schwarzem Bild (wenigstens die Größe passt schon)
nur die bilder sind nicht drinn ???

weiters möchte ich die Bilder im „cams“ Ordner wieder löschen oder Überschreiben (wenn verschickt)
sollte mit imagedestroy gehn

Mit Bitte um Hilfe
Andi

$beweg = getvalue(37596 /*[Bewegungsmelder Einfahrt\MOTION]*/);
$cam = "C:\IP-Symcon\media\FTP-Cam\cam.jpg";
$bild1 = "C:\IP-Symcon\media\EmailBilder\bild1.jpg";
$bild2 = "C:\IP-Symcon\media\EmailBilder\bild2.jpg";
$bild3 = "C:\IP-Symcon\media\EmailBilder\bild3.jpg";
$bild4 = "C:\IP-Symcon\media\EmailBilder\bild4.jpg";
$bild5 = "C:\IP-Symcon\media\EmailBilder\bild5.jpg";
$bild6 = "C:\IP-Symcon\media\EmailBilder\bild6.jpg";

if ($beweg)

{echo "Bewegung";
copy ($cam,$bild1);
IPS_Sleep(2000);

copy ($cam,$bild2);
IPS_Sleep(2000);

copy ($cam,$bild3);
IPS_Sleep(2000);

copy ($cam,$bild4);
IPS_Sleep(2000);

copy ($cam,$bild5);
IPS_Sleep(2000);

copy ($cam,$bild6);
}
IPS_Sleep(100);  //bis hier OK macht alle 2 sec ein Bild

$camIPs = array("C:\IP-Symcon\media\EmailBilder\bild1.jpg",
 "C:\IP-Symcon\media\EmailBilder\bild2.jpg",
 "C:\IP-Symcon\media\EmailBilder\bild3.jpg",
 "C:\IP-Symcon\media\EmailBilder\bild4.jpg",
 "C:\IP-Symcon\media\EmailBilder\bild5.jpg",
 "C:\IP-Symcon\media\EmailBilder\bild6.jpg");   //hier liegen meine 6 Bilder
 
$camsCount = count($camIPs);
$aim = @ImageCreateTruecolor(640, $camsCount * 480);

for ($i = 0; $i < $camsCount; $i++) {
$im = @ImageCreateFromJPEG ("http://192.168.2." . $camIPs[$i] . "/jpg/image.jpg");  // gehört hier was angepasst ?
if (!$im) { $im = ImageCreate (640, 480); }
$y = $i * 480;
ImageCopy($aim, $im, 0, $y, 0, 0, 640, 480);
ImageDestroy($im);
}

$filenameCams = IPS_GetKernelDir() . "/cams/camsAll_" . date("YmdHis") . ".jpg";  // oder Hier
ImageJpeg($aim, $filenameCams);
ImageDestroy($aim);


SMTP_SendMailAttachment (45965 /*[Bewegungsmelder Einfahrt\E-Mail senden (SMTP)]*/,"Bewegung Eingang","hallo",$filenameCams);