Standard E-Mail-Programm
Richard
0 Ole0 FraFu0 O'Brien5 Sven Rautenberg0 Richard
Hallo,
wie kriege ich heraus, welches mein Standard-Emailprogramm ist?
Oder anders gefragt: Funktioniert der SELFHTML Form-Mailer, wenn man einfach die betreffende Variable ändert?
Wenn ich da beispielsweise OUTLOOK.EXE hinschreibe, gehts nicht. Was muss man denn noch anpassen? Ich hab mich mal ein bisschen in das Script eingearbeitet, aber an sich müsste das doch gehen. Ich hab schon alles richtig eingestellt und so, das Script wird also definitiv ausgeführt, nur eben nicht richtig.
Gruß aus MeckPomm
Hi
Ich kann mir nicht vorstellen, daß es möglich ist mittels dieses Formmailers E-Mails über deinen E-Mailclient zu verschicken.
Hast du dir schon den Feature Artikel zu dem Thema angeschaut?
so long
Ole
(8-)>
Hallo,
Sorry, ich hab mich vertan. Den Feature-Artikel meinte ich eigentlich auch. Damit hab ichs probiert, aber wie gesagt erfolglos.
Viele Grüße
Hi
hast du perl und sendmail installiert?
Ohne funktioniert es nämlich nicht.
Btw. In welche zeile hast du "Outlook.exe" eingetragen?
so long
Ole
(8-)>
Hallo,
hast du perl und sendmail installiert?
Ja. Perl funzt ja auch. Es muss am Script selbst liegen. Bei Sendmail bin ich mir nicht ganz so sicher. Jedenfalls nicht bewusst.
Btw. In welche zeile hast du "Outlook.exe" eingetragen?
$Sendmail_Prog = "C:/Programme/Microsoft Office/Office/OUTLOOK.EXE";
Alles andere hab ich eigentlich so gelassen.
Viele Grüße
hi
$Sendmail_Prog = "C:/Programme/Microsoft Office/Office/OUTLOOK.EXE";
Das kann nicht funktionieren. hier muß schon sendmail stehen bleiben.
Outlook ist ein E-Mailclient und kein SMTP-Programm.
so long
Ole
(8-)>
Hallo,
Sendmail ist also ein Perl-Modul?!
Ich habe Windows XP und kein Unix!
Geht das trotzdem so?
Viele Grüße
Hi
Sendmail ist also ein Perl-Modul?!
Ja.
Ich habe Windows XP und kein Unix!
Geht das trotzdem so?
Kann ich dir leider nciht sagen, da ich mich mit Perl nicht auskenne.
Aber vieleicht wird jemand auf diesen thread aufmerksam, wenn man das thema entsprechend ändert. :)
so long
Ole
(8-)>
Hallo,
Wenn ihr mit dem Lesen bis hierher vorgedrungen seid, habt ihrs fast geschafft. Nur die Lösung hab ich dann immer noch nicht.
Viele Grüße
Hallo
Sendmail ist also ein Perl-Modul?!
Ja.
Nein, sendmail ist ein Mailserver.
Ich habe Windows XP und kein Unix!
Geht das trotzdem so?Kann ich dir leider nciht sagen, da ich mich mit Perl nicht auskenne.
Installiere Dir einen Mailserver, z.B. Mercury.
Freundliche Grüße
Vinzenz
Hallo,
Installiere Dir einen Mailserver, z.B. Mercury.
Hab ich gemacht. Mein Formmailer sieht jetzt folgendermaßen aus:
_____________________________________________________________________
#!C:/web/perl/bin/perl.exe -w
# -------> Individuelle Parameter des Skriptes - bitte anpassen!
# --> SMTP-Programm zum Versenden der Mail:
#$Sendmail_Prog = "/usr/lib/sendmail";
$Sendmail_Prog = "C:/web/mercury/mercury.exe";
# --> Ziel-Mailadresse, an die gesendet werden soll:
$mailto = "richardwotzlaw\@aol.com";
# -------> Modul für CGI-Scripts einbinden:
use CGI;
# -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:
$query = new CGI;
@names = $query->param;
# -------> interne Daten aus den erwarteten hidden-Feldern auslesen:
$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$subject = $query->param('subject'); # ---> E-Mail-Subject
# -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln
# VERHINDERT sonst möglichen MISSBRAUCH des Skripts
$subject =~ s/\s/ /g;
# -------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
if($name ne "return" && $name ne "subject" && $name ne "delimiter") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$delimiter;
$mailtext = $mailtext.$value."\n";
}
}
}
# -------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
# -------> Dankeseite an Browser senden:
openThanks();
sub openThanks {
print "<b>Hallo</b>";
}
_____________________________________________________________________
mercury.exe ist also als $Sendmail_Prog angegeben. Geht das? Wo ist der Denkfehler?
Viele Grüße
Hallo,
ich hab vergessen zu sagen, dass ich bei dieser Variante einen Internal Server Error erhalte. Im error.log steht folgender Eintrag (allerdings nicht zum ersten mal!):
[Thu Apr 13 15:30:46 2006] [error] [client 127.0.0.1] Use of uninitialized value in concatenation (.) or string at C:/web/Apache2/cgi-bin/test_.pl line 43., referer: http://localhost/kontakt.html
Das deutet ja auf einen Fehler im Script hin. Wenn ich richtig gezählt habe, was ja laut Siechfried nicht zu meinen Stärken gehört, gibts in Zeile 43 keinen solchen Fehler.
Viele Grüße
Tach,
Sendmail ist also ein Perl-Modul?!
nein ein SMTP Server. Früher _der_ SMTP Server, heutzutage wird meist ein anderes Produkt (Postfix, Qmail, Exim, ...) eingesetzt, das zum Zwecke der Rückwärtskompatibilität jedoch zumeist trotzdem als sendmail angesprochen werdeen kann.
mfg
Woodfighter
Hallo Richard,
Sendmail ist also ein Perl-Modul?!
Ich habe Windows XP und kein Unix!
Geht das trotzdem so?
Ich würde Dir vorschlagen, das Net::SMTP-Modul zu installieren und Deine Mails über SMTP zu verschicken.
Viele Grüße,
Christian
Hallo!
Oder anders gefragt: Funktioniert der SELFHTML Form-Mailer, wenn man einfach die betreffende Variable ändert?
In der Variable
$Sendmail_Prog = "/usr/lib/sendmail";
steht der Pfad zu sendmail bzw zu einem dazu kompatiblen MTA.
Dieses Programm wird auf dem Server ausgeführt um damit das Email mit dem Inhalt des Formulars zu versenden.
Dort Outlook einzutragen nützt gar nix. Outlook ist ein Mailclient.
mfg
frafu
Hi,
jetzt mal ganz langsam: Was willst du erreichen?
Möchtest du, dass die in ein Webformular eingegebenen Daten per E-Mail verschickt werden? Dann brauchst du die entsprechende Funktionalität, sprich eine Mailserver-Software auf dem Server, nicht auf deinem lokalen Rechner.
Also: entweder du verschickst mit deinem lokalen E-Mail-Client (z.B. Outlook) eine E-Mail (was durch einen mailto-Link angestoßen werden kann), oder du verwendest ein Formular innerhalb einer Webseite und lässt die Inhalte von der Mailserver-Software auf dem Server-Rechner verschicken. Beides zusammen geht nicht.
Hoffe, zur Klärung beigetragen zu haben.
Schönen Sonntag noch!
O'Brien
Hi Ingrid,
und nun noch die sinnvolle Betreffänderung ;)
Schönen Sonntag noch!
O'Brien
Hallo O'Brien,
ich vermute, Richard will die Entwicklungsumgebung auf seinem Rechner, die nach meinem Wissensstand aus
- Windows XP Home (Service Pack 1)
- apache (Version unbekannt)
- Perl (Version unbekannt)
- PHP 5 (genaue Version unbekannt)
besteht, um die Funktionalität eines Mailservers erweitern.
Dazu geeignet wäre
- Mercury
Hinweis (für Richard): Viele Mailserver lehnen Mails, die von SMTP-Servern auf Rechnern mit Einwahlverbindung versendet werden, ab.
Freundliche Grüße
Vinzenz
Hallo,
ich vermute, Richard will die Entwicklungsumgebung auf seinem Rechner, die nach meinem Wissensstand aus
- Windows XP Home (Service Pack 1)
- apache (Version unbekannt)
- Perl (Version unbekannt)
- PHP 5 (genaue Version unbekannt)besteht, um die Funktionalität eines Mailservers erweitern.
Genau richtig. Die Daten aus einem Formular sollen ganz einfach per Email versendet werden.
Viele Grüße
Moin!
wie kriege ich heraus, welches mein Standard-Emailprogramm ist?
Oder anders gefragt: Funktioniert der SELFHTML Form-Mailer, wenn man einfach die betreffende Variable ändert?
Der Formmailer ist ausgerichtet auf die Benutzung unter Unix. Er kann nicht einfach so auf ein Windows-System transferiert werden.
Zur Erklärung mal etwas ausgeholt: Ein Unix-System hat in der Regel immer einen Mailserver installiert. Das liegt einfach daran, dass Unix früher ausschließlich auf Servern zum Einsatz kam, und eigentlich fast sämtliche administrativen Nachrichten des Systems an den Admin per Mail übermittelt werden. Also entweder dem Admin lokal als Mail zugestellt werden, weil der Server die einzige Maschine ist, oder die Mail wird dem zentralen Mailserver weitergeleitet, auf dem auch der Admin seinen Account hat, bei dem Mails von allen Servern des Rechenzentrums auflaufen. Und auch für die Useraccounts auf so einem Server ist es natürlich von Vorteil, wenn die auch auf einfache Weise eine Mail loswerden können, die entweder in ihr eigenes Postfach, oder das von irgendwem anders, gelangt, ohne dass man sich große Gedanken machen muß - es funktioniert einfach.
Unter Windows hingegen gab es standardmäßig niemals einen Mailserver. An einem Windows-Rechner saß immer nur ein User, und den konnte man, wenn man als Programm Hinweise oder Meldungen loswerden wollte, immer direkt mit einem Meldungsfenster erreichen. Was Windows als Serversystem lange Zeit sehr ungünstig einsetzbar machte, weil es doof ist, wenn Windows im menschenleeren Serverraum auf einen Mausklick oder eine Tastatureingabe wartet, um irgendeine Aktion fortzusetzen. :)
Das Programm "sendmail", welches im Formmailer aufgerufen wird, ist allerdings nur ein ganz kleiner Teil des Unix-Mailservers. Zumindest die damit genutzte Funktionalität. Das Programm nimmt einfach nur folgende Informationen entgegen: Zieladresse, Betreffzeile, Mailtext. Und diese Information wird dann ans Ziel gesendet - wobei das meist dadurch geschieht, dass das sendmail-Programm eine neue Mail generiert und diese dann in die Warteschlange des Mailservers stellt. Die weitere Zustellung der Mail ans Ziel geschieht dann über den normalen Betrieb des Mailservers.
Deswegen ist auch relativ egal, welches Mailserver-Programm denn tatsächlich eingesetzt wird: Pro Server kann es nur ein einziges Mailserver-Programm geben, und das bringt einfach ein Programm "sendmail" mit, welches kompatibel zum Sendmail-Standardprogramm ist und die Aufgabe der Mailentgegennahme regelt - der weitere interne Ablauf interessiert dann nicht mehr.
Wenn du unter Windows also das gleiche haben willst, was unter Unix so simpel funktioniert (wobei: korrekt eingerichtet und konfiguriert werden muß der Mailserver unter Unix natürlich - das hat der Admin aber meist getan), wäre zuerst mal zu klären, von wo und nach wohin du das Formular schicken willst.
Also folgende Fragen:
1. Wo lagert das Formular?
2. Wer kann das Formular aufrufen und abschicken? Nur du? Das gesamte Internet?
3. Wohin soll das Formular als Mail gesendet werden? Zu dir lokal? Zu dir auf deinen Mailaccount? Zu irgendwem anders?
4. Welchen Weg soll die Mail nehmen? Über deinen eigenen Mailaccount? Direkt zum Ziel?
Alle diese Fragen sind notwendig, weil heutzutage der Mailverkehr alles andere als frei funktioniert - es gibt bei jedem vernünftigen Mailserverbetreiber Maßnahmen gegen Spam - und nach denen mußt du dich richten, wenn du willst, dass deine Mails nicht nur abgeschickt werden, sondern auch ankommen.
- Sven Rautenberg
Hallo,
Also folgende Fragen:
- Wo lagert das Formular?
Auf meiner (noch nicht) Website. Ich wollte den Formmailer lokal auf meinem Windows-Rechner testen.
- Wer kann das Formular aufrufen und abschicken? Nur du? Das gesamte Internet?
Es soll mal das gesamte Internet können.
- Wohin soll das Formular als Mail gesendet werden? Zu dir lokal? Zu dir auf deinen Mailaccount? Zu irgendwem anders?
Dann später zu meinem (noch nicht) Mailaccount. Zu Testzwecken wollte ich es aber an meine Email-Adresse schicken.
- Welchen Weg soll die Mail nehmen? Über deinen eigenen Mailaccount? Direkt zum Ziel?
Eigentlich direkt zum Ziel.
An dieser Stelle mal die Grundsatzfrage: Kann ich Unix und Windows <u>problemlos</u> auf einunddemselben Rechner laufen haben? Wenn ja, könnte ich ja...
Viele Grüße
Tach,
Auf meiner (noch nicht) Website. Ich wollte den Formmailer lokal auf meinem Windows-Rechner testen.
wird diese dann auch unter Windows laufen? Sonst ist der Test hinterher recht unaussagekräftig.
An dieser Stelle mal die Grundsatzfrage: Kann ich Unix und Windows <u>problemlos</u> auf einunddemselben Rechner laufen haben?
Prinzipiell ja. Ich sitze hier an einem Linux-Rechner, den ich nötigenfalls auch mit Windows booten kann, oder auf dem ich per qemu ein Window intern laufen lassen kann.
mfg
Woodfighter
Hallo,
Da diese Variante(n) ziemlich umfangreich und kompliziert zu sein scheinen, wäre es da nicht besser, sich auf den SELFHTML-Formmailer zu "verlassen", die Seite auf meinen Webspace-Server (der ja mutmaßlich Unix verwendet) hochzuladen, und dann zu testen.
Dann dürfte es doch eigentlich keine Probleme geben, zumal konfigurationstechnisch usw. ja schon (hoffentlich) alles erledigt ist.
Viele Grüße
Moin!
Da diese Variante(n) ziemlich umfangreich und kompliziert zu sein scheinen, wäre es da nicht besser, sich auf den SELFHTML-Formmailer zu "verlassen", die Seite auf meinen Webspace-Server (der ja mutmaßlich Unix verwendet) hochzuladen, und dann zu testen.
Richtig. Da es auf deinem Windows-Test-Server ja sowieso nicht live genutzt wird, wäre eine Anpassung viel zu aufwendig.
Dann dürfte es doch eigentlich keine Probleme geben, zumal konfigurationstechnisch usw. ja schon (hoffentlich) alles erledigt ist.
Wenn der Test positiv verläuft, wird der Formmailer dauerhaft funktionieren. Oder du merkst die Probleme sofort, weil keine Mail ankommt - dann korrigierst du den Formmailer solange, bis es geht - u.U. durch Konsultation der FAQ deines Providers, oder durch Anfrage beim Support. Der Ort für das sendmail-Programm ist nämlich nicht standardisiert, es gibt dafür zwar mehrere typische Orte, aber im Prinzip kann es überall lagern. Den Ort weiß der Provider aber, und teilt ihn in der FAQ mit Sicherheit mit.
- Sven Rautenberg
Hallo Richard,
An dieser Stelle mal die Grundsatzfrage: Kann ich Unix und Windows <u>problemlos</u> auf einunddemselben Rechner laufen haben?
ja. Du hast diverse Möglichkeiten:
1. Dualbootkonfiguration
Einfache Variante:
a) Sichere Deine Daten
b) Installiere zuerst Windows, lasse Festplattenplatz für Linux/*BSD frei.
c) Installiere die Linux/*BSD-Distribution Deiner Wahl. Konfiguriere den
Bootmanager so, dass er auch Dein Windows bootet.
Zweite Variante:
a) Sichere Deine Daten
b) Schaffe Dir mit einem Partitionierwerkzeug wie PartitionMagic, fips
o.ä. freien Platz auf Deiner Festplatte.
c) Installiere die Linux/*BSD-Distribution Deiner Wahl. Konfiguriere den
Bootmanager so, dass er auch Dein Windows bootet.
Dritte Variante:
a) Sichere Deine Daten
b) Installiere die Linux/*BSD-Distribution Deiner Wahl. Installiere den
Bootmanager _nicht_ in den MBR. Erstelle Dir eine Bootdiskette.
Sichere den Bootsektor der Partition, in der sich Dein Bootmanager
befindet in einer Datei.
c) Installiere Windows
d) Füge Dein Linux dem NT-Bootmanager in der boot.ini hinzu.
2. Nutze einen Emulator wie VMware oder emu.
a) Installiere die Software
b) Installiere Dein Linux innerhalb einer virtuellen Maschine.
(Es schadet nichts, vorher Deine Daten zu sichern)
Ich persönlich habe derzeit Linux-Installationen nach 1) (erste und dritte Methode) und 2) (VMware) laufen.
Freundliche Grüße
Vinzenz