PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Email über SMTP versenden



studi2
25.09.06, 16:07
Hallo Leute,

ich suche den einfachsten Weg eine Email unter Suse-Linux über SMTP-Dienst zu versenden.
Genauer gesagt, ich habe ein C-Programm, das die generierten Daten per Email an bestimmte Adresse(aussehalb LAN) versenden soll!
Das ist alles!

Gruß Studi

derRichard
25.09.06, 16:16
hallo!

schick doch einfach die mail über eine pipe an sendmail.

//richard

studi2
26.09.06, 01:16
Klingt sehr passend für meine Aufgabe! :rolleyes:

Irgend welche Beispiele dazu? :o
Danke!

Gruß Studi

derRichard
26.09.06, 01:19
hallo!

echo "email-nachricht"|/usr/bin/sendmail user@zielhost...

natürlich kannst das auch aus c heraus machen.
starte /usr/bin/sendmail und schreib in seine standardeingabe die mail...

//richard

studi2
26.09.06, 01:24
natürlich kannst das auch aus c heraus machen.
starte /usr/bin/sendmail und schreib in seine standardeingabe die mail...

//richard

Ich habe nie mit sendmail gearbeitet.
wie schreibe ich in seine Standardeingabe eine Mail?

Gruß Studi

derRichard
26.09.06, 01:28
hallo!

das hat weder mit sendmail, noch mit mail was zu tun. :cool:

c kannst doch, oder?
siehe popen().

du öffnest einen neuen prozessmit popen, in deinem fall sendmail. und schreibst auf den fd dann die mail...

//richard

derRichard
26.09.06, 01:35
hallo!

schau, ich hab grad schnell den compiler angeworfen^^



#include <stdio.h>

#define SED_COMMAND "/usr/bin/sed -e \'s/foo/bar/\'"

int main()
{
FILE *pipe;

pipe = popen(SED_COMMAND, "w");
fputs("foo\n", pipe);

return 0;
}


das programm gibt "foo\n" an sed weiter, welches dann foo durch bar ersetzt.

hth,
//richard

studi2
26.09.06, 01:35
Diese Beschreibung erklärt etwas mehr.

OK! Ich werde's versuchen.

Danke und Gruß von Studi

studi2
26.09.06, 01:42
Dann würde mit sendmail so aussehen:

#include <stdio.h>

int main()
{
FILE *pipe;

pipe = popen(/usr/bin/sendmail, "w");
fputs("email-nachricht" user@zielhost...", pipe);

return 0;
}

catt44
26.09.06, 02:12
Hallo, kann mir jemand erklären, wie ich das Debian System dazu bringen kann, die Emails (z.B aus dem Forum oder Kontakt Formular). Ich suche ne Lösung schon seit 3 Wochen! Ich will einfach, dass die User sich in meinem Forum registrieren können und dass sie die Emails bekommen. Ich benutze Exim4 , danke im vorauss

catt44
26.09.06, 02:18
Vielleich einwenig mehr Info dazu: wir haben einen alten Rechner über DynDns Namen ins Netz gestellt, da soll später ein kleiner Forum und ein kleines Gaestebuch laufen, nichts grossartiges, ist nur für "schuhlungszwecken" gedacht, alles funktioniert soweit, ausser dem , dass ich eben keine mails verschicken kann. Ich benutze als Smarthost einen SMTP von GMX, na ja, ich habe versucht es zu benutzen......wenn hier jemand ein step-by-step Lösung für Anfänger hätte?

derRichard
26.09.06, 11:35
Dann würde mit sendmail so aussehen:

#include <stdio.h>

int main()
{
FILE *pipe;

pipe = popen(/usr/bin/sendmail, "w");
fputs("email-nachricht" user@zielhost...", pipe);

return 0;
}
hallo!

nein, mit puts() gibts nur die email an sendmail weiter.
sendmail braucht als parameter mindestens einen parameter (den empfänger).
man sollte den code dann auch noch entwas schönder code, ich hab das ja nur in 10sekunden geschrieben.
zum schluss ein pclose(), prüfen ob popen() erfolgreich war...

//richard

derRichard
26.09.06, 11:37
Hallo, kann mir jemand erklären, wie ich das Debian System dazu bringen kann, die Emails (z.B aus dem Forum oder Kontakt Formular). Ich suche ne Lösung schon seit 3 Wochen! Ich will einfach, dass die User sich in meinem Forum registrieren können und dass sie die Emails bekommen. Ich benutze Exim4 , danke im vorauss
hallo!

warum spammst du dazu in einen fremen thread rein?!
mach doch einen eigenen thread auf, sonst bekommst nie eine antwort.

//richard

catt44
27.09.06, 13:23
hallo
ich spamme hier nicht, sondern biete um die Hilfe. Und wieso ist es ein fremde thread?? wir reden hier doch über mailversand mit exim oder..?