Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP mail Anhang auslesen abspeichern

Frage Entwicklung PHP

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

31.05.2010, aktualisiert 15:26 Uhr, 8658 Aufrufe, 5 Kommentare

Moin Gemeinde,

habe mir vor langer Zeit mal ein Codeschnipsel aus diversen anderen zusammengebaut, dass mir den Inhalt des angegebenen Postfaches anzeigt.
Läuft ....

Veränderung:
da wir täglich mehrere (>60) Mails bekommen, die immer eine Datei dabei haben, es natürlich mühsam ist, die jede Mail zu öffnen und den Anhang abzuspeichern.

Mailclient: OL2007 oder Thunderbird 3.0.4

Kennt jemand einen schönen Trick, für die Mailclients oder ein brauchbares Codeschnipsel in PHP?

Andere Quellen im Netz:
http://www.php-resource.de/forum/showthread/t-64811.html
http://ezcomponents.org/docs/tutorials/Mail#retrieving-mail-using-pop3
http://www.php.de/php-fortgeschrittene/12986-datei-upload-und-per-email ...

Werde in der Zeit mal ein bischen basteln (...)

interne Suche: Automatisches Speichern von Emails unter Linux


01.
<html> 
02.
<head> <title> Mail </title> </head> 
03.
<body bgcolor=D3D3D3> 
04.
<table> <tr> <td> 
05.
<?PHP 
06.
 
07.
//$Host="(smtp.gmx.de: 110/pop3) INBOX"; // Host zu verbinden 
08.
 
09.
$Host="{pop.1und1.de/pop3:110}INBOX"; // Host zu verbinden 
10.
$User="alias@domain.tld"
11.
$Pass="leer"
12.
$Aus=$User; // Mail zu senden 
13.
 
14.
$ip = getenv("REMOTE_ADDR"); 
15.
 
16.
$count_bestellung_gesamt = 0; 
17.
 
18.
$Mail=imap_open($Host,$User,$Pass) Or die ("Kann keine Verbindung:" . imap_last_error()); 
19.
 
20.
echo "<h1>Neue Mails</h1>\n"
21.
 
22.
$headers = imap_headers($MAIL); 
23.
print_r($headers); 
24.
 
25.
$message_count = imap_num_msg($Mail);  
26.
 
27.
echo "Anzahl Mails: ".$message_count."<BR>\n"
28.
 
29.
//Verbindung zu Mailbox 
30.
$m_mail = imap_open($Host,$User,$Pass) or die("ERROR: " . imap_last_error()); 
31.
 
32.
$m_gunixtp = array(2592000, 1209600, 604800, 259200, 86400, 21600, 3600); 
33.
 
34.
//bis welchem Zeitpunkt die Mails gelesen werden sollen. 
35.
$m_gdmy = date('d-M-Y', time() - $m_gunixtp[$m_t]); 
36.
 
37.
//suche nach ungelesenen Mails 
38.
//$m_search=imap_search ($m_mail, 'UNSEEN SINCE ' . $m_gdmy . ''); 
39.
 
40.
//gebe alle Mails aus 'ALL' 
41.
$m_search=imap_search ($m_mail, 'ALL '); 
42.
 
43.
 
44.
//If mailbox is empty......Display "No New Messages", else........ You got mail....oh joy 
45.
if($m_search < 1){ 
46.
	$m_empty = "No New Messages";} 
47.
else
48.
	//sortiert das Array, neuste zuerst. 
49.
	rsort($m_search); 
50.
 
51.
 
52.
	// nur ungelesene ... 
53.
	foreach ($m_search as $what_ever) { 
54.
 
55.
		//liefert die Kopfdaten 
56.
		$obj_thang = imap_headerinfo($m_mail, $what_ever); 
57.
		//print_r($obj_thang); 
58.
 
59.
		//liest die Mail aus ... 
60.
		$part=imap_fetchbody($Mail,$what_ever,1); 
61.
		//print_r($part);  // => liefert den Mailinhalt... 
62.
 
63.
		$part=imap_fetchbody($Mail,$what_ever,2); 
64.
		//print_r($part);  // => liefert die Anlagen 
65.
 
66.
		$adress_from = str_replace("<", "&lt;", $obj_thang->fromaddress); 
67.
		$adress_from = str_replace(">", "&gt;", $adress_from); 
68.
		$adress_to = str_replace("<", "&lt;", $obj_thang->toaddress); 
69.
		$adress_to = str_replace(">", "&gt;", $adress_to); 
70.
 
71.
		$mail_betreff = $obj_thang->Subject; 
72.
		$mail_text = imap_fetchbody($Mail,$what_ever,1); 
73.
 
74.
		//Then spit it out below.........if you dont swallow 
75.
		echo "<div align=center><br /><font face=Arial size=2 color=#800000>Message ID# " . $what_ever . "</font> 
76.
 
77.
		<table bgcolor=#D3D3D3 width=900 border=1 bordercolor=#000000 cellpadding=0 cellspacing=0> 
78.
		<tr> 
79.
			<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>Date:</font> <font face=Arial size=2 color=#000000>" . date("d-m-Y H:i", $obj_thang->udate) . "</font></td> 
80.
			<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>From:</font> <font face=Arial size=2 color=#000000>" . $adress_from . "</font></td> 
81.
			<td bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>To:</font> <font face=Arial size=2 color=#000000>" . $adress_to . " </font></td> 
82.
		</tr> 
83.
		<tr> 
84.
			<td colspan=3 bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>Subject:</font> <font face=Arial size=2 color=#000000>" . $mail_betreff . "</font></td> 
85.
		</tr> 
86.
		<tr> 
87.
			<td colspan=3 bgcolor=#F8F8FF><font face=Arial size=2 color=#800000>Text:</font> <font face=Arial size=2 color=#000000>" . $mail_text . "</font></td> 
88.
		</tr> 
89.
		</table>"; 
90.
91.
92.
 
93.
// date("d-m-Y H:i", $obj_thang->udate) 
94.
 
95.
$str = 'RGllcyBpc3QgZWluIHp1IGtvZGllcmVuZGVyIFN0cmluZw=='; 
96.
echo base64_decode($str); 
97.
 
98.
?> 
99.
</Tr> </td> </table> 
100.
 
101.
<HR> 
102.
<DIV>Based on: http://www.php.net/manual/de/function.imap-headerinfo.php</DIV> 
103.
 
104.
</Body> 
105.
</Html> 
106.
 
107.
 
Grüße
euer Midi
Mitglied: masterG
31.05.2010 um 16:34 Uhr
Was ist jetzt genau deine Frage?
Bitte warten ..
Mitglied: Midivirus
31.05.2010 um 16:44 Uhr
wie man mittels aufruf der Seite den Anhang der Mails oder ausgewählten Mails abspeichert, auf Webspace oder bei mir auf dem lokalen PC
Bitte warten ..
Mitglied: masterG
01.06.2010 um 13:34 Uhr
Naja du müsstest mittels base64_decode den Anhang entschlüsseln und dann per fopen, fputs die datei schreiben und auf dem Server einstweil hinterlegen.
Dann kannst du eine Liste erstellen mit den Anhängen die sich in einem gewissen Ordner erstellen und die dann runterladen.

Denkansatz.

masterG
Bitte warten ..
Mitglied: Midivirus
01.06.2010 um 13:59 Uhr
da das ganze lokal liegt like XAMPP wird das über die Dateifrage dann abgeholt, wenn benötigt.

gibt es da zufällig ein Codeschnipsel, wo ich da anfangen müsste? @base64_decode
Bitte warten ..
Mitglied: masterG
01.06.2010 um 16:29 Uhr
Eins
Zwei

unter google kannst ja suchen mit: "php save mail attachment"
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
JavaScript
gelöst Dropdownfeld auslesen und mit AJAX und JS an PHP senden (7)

Frage von ITFlori zum Thema JavaScript ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...