08. januar 2014 - 21:43 Der er 5 kommentarer og
1 løsning

FORMAT AF E- MAIL (HTML / ANDEN)...

Hej

I forbindelse med et andet project har jeg brug for en E-mail.

Eller for at være mere præcis:

DEN TEKST-STRING, som indeholder ALT som en E-mail kan og vil indeholde (billeder foretrækkes).

Jeg har ikke noget sted kunne finde hvordan en E-mail er opbygget (altså den binære (AScii ?) streng fra byte 1 til sidste byte) som modtages til min PC.

Jeg ved at Webbrowseren (IE eller FireFox) decoder de enkelte elementer i samme E-mail og håndterer dem som de nu skal. Men det er det jeg skal i gang med på et Delphi-project.

Savner nogle gode råd herom. Som modtages med TAK og 45 point.

Kristian
Avatar billede martinlind Nybegynder
08. januar 2014 - 22:32 #1
prøv at kig på smtp-protokollen, evt. indy's smtp-server og eller message-component
08. januar 2014 - 23:20 #2
Hej Martin,

Tak for svar.

Det er netop et eksempel på SMTP protokollens PRAKTISKE udformning jeg søger efter. Ikke bare teorien.

KR
Avatar billede arne_v Ekspert
09. januar 2014 - 03:07 #3
Her er et C# eksempel paa email via raa socket:


using System;
using System.IO;
using System.Net;
using System.Net.Sockets;

public class EMailDemo
{
    public static void EMail(string mailserver, string to, string from,
                            string subj, string body)
    {
        string ownhost = Dns.GetHostName();
        TcpClient client = new TcpClient(mailserver, 25);
        StreamWriter wrt = new StreamWriter(client.GetStream());
        wrt.WriteLine("HELO " + ownhost);
        wrt.WriteLine("MAIL FROM: <" + from + ">");
        wrt.WriteLine("RCPT TO: <" + to + ">");
        wrt.WriteLine("DATA");
        wrt.WriteLine("Return-Path: <" + from + ">");
        wrt.WriteLine("From: " + from);
        wrt.WriteLine("To: " + to);
        wrt.WriteLine("Subject: " + subj);
        wrt.WriteLine();
        wrt.WriteLine(body);
        wrt.WriteLine(".");
        wrt.WriteLine("QUIT");
        wrt.Flush();
        wrt.Close();
        client.Close();
    }
    public static void Main(string[] args)
    {
        EMail("192.168.1.10", "arne@arne", "arne@arne", "Test", "Dette er en test\r\nEn anden linie");
    }
}


Alle linier afsluttes med CR LF.

Der er en tom linie mellem headere og body.

Body afsluttes med en linie med kun punktum.

Det som er all upper case er fra RFC 821 mens det som er mixed case er fra RFC 822.
25. januar 2014 - 00:45 #4
HEJ,

Efter at have arbejdet en ganske del med RFC 821 og KSH 001 ("min egen" RFC), lykkedes det at finde en metiode, som gør det jeg ønsker. Test har vist at det fungerer. Både som DPR-projekt og som EXE-project.

Men hvem af jer der egentlig fortjener point er svært at afgøre.

Så jeg vil foreslå at jeg giver Martin 20 p og Arve V 25 p , dette ud fra betragtningen at jeg ikke kan give jer 22,5 p hver) ?

Er det OK - eller en anden løsning  (vil godt lukke spm.)?

KR
Avatar billede arne_v Ekspert
25. januar 2014 - 01:30 #5
OK med mig - du kan dog ogsaa dele 22-23.
04. februar 2014 - 09:27 #6
HEJ,

martinlind har ikke givet sit svar (inden for den af mig satte tidsfrist), så du får puljen.

KR
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
Kurser inden for grundlæggende programmering

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