PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Per Email Text und Bilder einbinden



Kraemer84
25.11.2010, 16:52
hi

ich steh hier vor einem kleinen Problem

gibt es eine möglichkeit wie man per email bilder und text an den server (?!) schickt das der das automatisch in eine homepage einbindet ?

als beispiel

einer schickt eine mail mit 2 texten (englisch/deutsch) und bildern als anhang danach sollen diese bilder aber auf einer homepage erscheinen sprich ich hab hier 2 bereiche in html einmal englisch einmal deutsch jetzt soll aber auf jeder seite der richtige text erscheinen und darunter die bilder

das kann auch ruhig was kosten hauptsache es gibt eine lösung dafür

mir ist so eine art absolut neu und ich kenn das nur rumgedreht das man aus einem formular eine mail senden kann

danke für ideen :biggrin1:

jpwfour
25.11.2010, 22:26
Das geht, kommt jetztaber auf deine "Umgebung" bzw. Möglichkeiten an, wie man es genau umsetzen würde.

Also nur Webspace oder voller root Zugriff?

Bei Webspace müsste man es vermutlich so machen, dass ein PHP Skript als Cron regelmäßig aufgerufen wird, die Emails abruft, und die gewünschte Aktionen ausführt (wäre dann evtl. bis zu X Mnuten verzögert).

Wenn man direkt auf den Mailserver Zugriff hat, kann man (je nach verwendeter Software) schon automatisch Aktionen beim Empfang einer Mail ausführen lassen, wäre dann also direkt, aebr mehr im System zu machen.

Wenns ein ganz "beschränkter" Webspace wäre, könnte es auch sein,dass das gar nicht Möglich ist.

Methoden um unter PHP Emails abzurufen gibt es diverse:

http://www.google.de/#hl=de&source=hp&q=php+mails+abrufen
http://php.net/manual/de/book.imap.php
http://pear.php.net/package/Net_POP3/redirected

Kraemer84
26.11.2010, 12:18
das ist ein vserver und damit hab ich es probiert aber ich bekomm nur "Verbindung zum Postfach testmail@die-surfbar.de nicht möglich!" angezeigt wobei die daten stimmen


<?php
$arr_mailbox['str_email_adress'] = 'testmail@die-surfbar.de';
$arr_mailbox['str_mailserver'] = 'imap.die-surfbar.de';
$arr_mailbox['str_username'] = '123456';
$arr_mailbox['str_password'] = 'geheim';

$res_mailbox = @imap_open('{'.$arr_mailbox['str_mailserver'].'/imap/readonly}INBOX', $arr_mailbox['str_username'], $arr_mailbox['str_password']);

if (false === $res_mailbox) {
echo '<p>Verbindung zum Postfach '.$arr_mailbox['str_email_adress'].' nicht m&ouml;glich!</p>';
} else {
?>

<p>Anzahl der Nachrichten im Postfach: <?php echo imap_num_msg($res_mailbox); ?></p>

<?php
$arr_message_headers = imap_headers($res_mailbox);
?>

<h2>Header-Info:</h2>
<pre><?php echo implode("\n", $arr_message_headers); ?></pre>
<h2>Komplette Nachrichten</h2>

<?php
for ($int_message_counter = 1; $int_message_counter <= imap_num_msg($res_mailbox); $int_message_counter++) {
?>

<h3>Header:</h3>
<pre>
<?php echo htmlentities(imap_fetchheader($res_mailbox, $int_message_counter)); ?>
</pre>
<p>

<?php
$obj_header_info = imap_headerinfo($res_mailbox, $int_message_counter);

echo '<span class="headerNameColumn">Flags: '.$obj_header_info->Recent.' - '.$obj_header_info->Unseen.' - '.$obj_header_info->Flagged.'</span>';
echo "<br />\n";

echo 'Date: '.$obj_header_info->date;
echo "<br />\n";

echo 'From: ';
if (is_array($obj_header_info->from)) {
foreach ($obj_header_info->from as $obj_from_data) {
echo $obj_from_data->personal.' &lt;'.$obj_from_data->mailbox.'@'.$obj_from_data->host.'&gt;';
}
}
echo "<br />\n";

echo 'To: ';
if (is_array($obj_header_info->to)) {
foreach ($obj_header_info->to as $obj_to_data) {
echo $obj_to_data->personal.' &lt;'.$obj_to_data->mailbox.'@'.$obj_to_data->host.'&gt;';
}
}
echo "<br />\n";

echo 'Subject: '.$obj_header_info->subject;
echo "<br />\n";
?>

</p>
<h3>Body:</h3>
<pre><?php echo imap_body($res_mailbox, $int_message_counter); ?></pre>

<?php
flush();
} // for ($int_message_counter = 1; $int_message_counter <= imap_num_msg($res_mailbox); $int_message_counter++)

imap_close($res_mailbox);
} // else-Zweig von if (false === $res_mailbox)
?>

jpwfour
26.11.2010, 13:24
Zum debuggen in dem Abschnitt:

if (false === $res_mailbox) { wären die Funktionen:
imap_last_error
imap_errors
hilfreich.

Kraemer84
26.11.2010, 14:39
ok hab das jetzt probiert mit


imap_errors()
oder

array imap_errors
oder

imap_last_errordirekt nach


if (false === $res_mailbox) { resultat weiße Seite denke mal die funktion hab ich falsch eingefügt ?

*edit

habs jetzt noch damit probiert in verschiedenen Varianten und mit Hilfestellung per Skype
und es geht trotzdem nicht also denke ich das da noch ganz woanderst ein problem ist (für heute aber genug kopf raucht schon ....:frusty: :biggrin1:)

<?php

$mail_server = "imap.example.com" ;
$mail_port = 143 ;
$mail_username = "test@example.com" ;
$mail_password = "pw" ;

echo "<h1>".$mail_username." on ".$mail_server."</h1>\n\n" ;
$mbox = imap_open("{".$mail_server.":".$mail_port."}".$mail_folder, $mail_username, $mail_password) or die("Error opening mailbox: ".imap_last_error());
$mailboxheaders = imap_headers($mbox);
if ($mailboxheaders == false) {
echo "<p>".$mail_folder." is empty.</p>\n\n";
} else {
echo "<h2>".$mail_folder."</h2>\n" ;
echo "<ol>\n" ;
$msgno = 0;
foreach ($mailboxheaders as $val) {
$msgno++;
echo " <li>".$val ."</li>\n";
}
echo "</ol>\n\n" ;
}
imap_close($mbox);

?>

Kraemer84
30.11.2010, 14:06
so jetzt hat es funktioniert

das problem war nur weil ich im plesk server klar emailadressen erstellen kann aber wenn ich keinen mailserver besitze passiert natürlich nichts jetzt nutz ich das über den hoster sein mailserver und es funktioniert :thumb: