Avatar billede al Nybegynder
10. marts 2004 - 13:49 Der er 11 kommentarer og
1 løsning

e-mail til webside

Hej

Hvordan kan jeg få indholdet af en E-mail ud på en hjemmeside?

Altså, jeg vil kunne sende en E-mail, som serveren skal modtage, fx. ved at et PHP script tjekker en mailkonto, henter indhold og viser det på siden. Den skal også kunne hente billeder fra E-mailen og vise.

Det kunne dog også være smart hvis serveren overfører indholdet af E-mails til en database, så data kun skal hentes derfra når en bruger besøger en side (så der ikke tjekkes for mail, hver gang en bruger klikker ind på siden)

Det skal kunne bruges til en "dagbog" med billeder man tager med sin kamera-mobiltelefon og sender som E-mail.

Hvis der ikke findes et sådanne projekt i forvejen, er jeg villig til at lave det som et open-source projekt.
Avatar billede 3xm Nybegynder
10. marts 2004 - 13:53 #1
Jeg roder netop selv for tiden med noget lign. til en moblog...

øjeblik, så finder jeg lige min kildekode.
Avatar billede 3xm Nybegynder
10. marts 2004 - 13:58 #2
<?
$inbox = imap_open ("{mail.server.dk:143/notls}", "navn@domæne.dk", "password");
$sidste = imap_num_msg($inbox);

$i = 1;
while (!$billede && $i < 10) {
  $indhold = imap_fetchbody($inbox, $sidste, $i);
  $fil = fopen("./temp.fil", "w");
  fwrite($fil, base64_decode($indhold));
  fclose($fil);
  $i++;
  $mimetype = mime_content_type("./temp.fil");
  if (eregi("image/", $mimetype)) {
    $filtype = explode("/", $mimetype);
    $filtype = $filtype[1];
    if ($filtype == "jpeg")
      $filtype = "jpg";
    if ($filtype == "x-png")
      $filtype = "png";
    $filnavn = md5($indhold);
    @unlink($filnavn.".".$filtype);
    rename("temp.fil", $filnavn.".".$filtype);
    break;
  }
}

$i = 1;
while (!$billede && $i < 10) {
  $indhold = imap_fetchbody($inbox, $sidste, $i);
  $fil = fopen("./temp2.fil", "w");
//  fwrite($fil, base64_decode($indhold));
  fwrite($fil, $indhold);
  fclose($fil);
  $i++;
  $mimetype = mime_content_type("./temp2.fil");
  if (eregi("text/", $mimetype)) {
    $filtype2 = explode("/", $mimetype);
    $filtype2 = $filtype2[1];
    if ($filtype2 == "plain")
      $filtype2 = "txt";
    if ($filtype2 == "html")
      $filtype2 = "html";
    $filnavn2 = md5($indhold);
    @unlink($filnavn2.".".$filtype2);
    rename("temp2.fil", $filnavn2.".".$filtype2);
    break;
  }
}

$mailinfo = imap_fetch_overview($inbox, $sidste);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
  <head>
    <title>E-mail</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <meta http-equiv="imagetoolbar" content="false" />
    <style type="text/css">
      body {
        font-size: 12px;
        font-family: sans-serif;
        background: #ffffff;
        color: #000000;
      }

      pre {
        font-size: 12px;
        font-family: sans-serif;
        background: #dddddd;
        color: #000000;
        border: solid 1px #000000;
        padding: 2px;
      }
    </style>
  </head>
  <body>
    <div>Seneste e-mail til navn@domæne.dk:<br>&nbsp;</div>
    <div><strong>Emne:</strong></div>
    <?="<pre>".$mailinfo[0]->subject."</pre>";?>
    <div><strong>Indhold:</strong></div>
    <?="<pre>".$indhold."</pre>";?>
    <?
    if ($filnavn)
      echo "
    <div><strong>Vedhæftet billede:</strong></div>
    <div>&nbsp;<br><img src=\"$filnavn.$filtype\"></div>";
    ?>
  </body>
</html>



----------------------------

det den gør er at vise subject, body og det (første) vedhæftede billede.

jeg håber du kan bruge det til noget, og du er selvfølgelig velkommen til at arbejde videre på det.

hvis du en dag har et færdigt resultat vil jeg gerne lige se det.

=)
Avatar billede al Nybegynder
30. marts 2004 - 23:21 #3
jow... jeg er kommet i gang nu, men jeg opretter ikke filer på serveren, flytter derimod tekst+billede til en database. Har bare et problem med at genkende flere billeder eller andre filer, er lidt ærgelig over at "mime_content_type()" kun kan bruges på filer og ikke en streng i MIME format
Avatar billede engberg Juniormester
10. maj 2004 - 19:13 #4
Hejsa - jeg roder lige nu med moblog - måske kan du også bruge det???
Avatar billede engberg Juniormester
10. maj 2004 - 19:15 #5
Avatar billede engberg Juniormester
14. maj 2004 - 21:41 #6
Øv - jeg kan ikke få noget som helst til, at virke... :-/

Parseren skriver at der er "Fatal error: Call to undefined function: imap_open() in index.php on line 2"

Den hedder
"$inbox = imap_open ("{pop3.gawab.com:110/pop3/notls}INBOX", "peter@gawab.com", "password");

Hvorfor mon det ikke virker?
Avatar billede olebole Juniormester
14. maj 2004 - 21:48 #7
<ole>

Fordi du ikke har adgang til at bruge imap på serveren. Tal med din udbyder om det  :)

/mvh
</bole>
Avatar billede engberg Juniormester
14. maj 2004 - 22:28 #8
Ja.. det fandt jeg ud af.. :-( Men hvor søren finder jeg en webhost der tilbyder det? (Gratis naturligvis..)
Avatar billede olebole Juniormester
14. maj 2004 - 22:48 #9
Jeg tror ikke, det er noget, der normalt fåes sammen med gratis hosting ... men led  :)
/mvh
Avatar billede engberg Juniormester
14. maj 2004 - 22:51 #10
:-(
Avatar billede engberg Juniormester
18. maj 2004 - 10:25 #11
Har fundet en ny mulighed.. men nu er der problemer med at konvertere mime... Hjælp modtages gerne i: http://www.eksperten.dk/spm/499181
Avatar billede al Nybegynder
13. juli 2004 - 13:45 #12
jeg fandt dette system:
http://mail2system.sourceforge.net/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester