Frage zur mail() Funktion
x-plosiv
- php
Hallo zusammen
Ich habe ein Projekt auf einem normalen Hosting, die Mails laufen aber über einen komplett anderen Server eines anderen Anbieters. Jetzt wollte ich ein Kontaktformular mittels der PHP Funktion mail() realisieren. Doch die Mails kommen nie an. Am Script kann es eigentlich nicht liegen. Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren. Kann das wirklich sein? Falls ja, was für eine Alternative habe ich, bzw. wie kann ich ein Kontaktforumular ohne mail() realisieren.
Besten Dank für eure Hilfe.
Gruss
Andy
Hallo!
Am Script kann es eigentlich nicht liegen.
Woher weißt Du das?
Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren.
Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!
Ciao
GG
Am Script kann es eigentlich nicht liegen.
Woher weißt Du das?
ich verdende das script öfters. zudem habe ich eine einfach Test Seite eingerichtet, welche funktionieren muss.
<?php
$name = "andy";
$absender = "xy@abc.ch";
mail("hansli@freesurf.ch", "Neue Nachricht fuer Sie!", "testnachricht testseite schweizer fenster", "From: $name <$absender>");
?>
Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!
da bin ich mir eben nicht ganz sicher. Aber wie gesagt hat das Webhosting den Webserver deaktiviert, da die Mails über einen anderen Anbieter laufen.
Hallo!
Seit wann 'laufen' Mails über das Webhosting? Das sind zwei grundverschiedene Angelegenheiten!
da bin ich mir eben nicht ganz sicher. Aber wie gesagt hat das Webhosting den Webserver deaktiviert, da die Mails über einen anderen Anbieter laufen.
Falls 'das Webhosting den Webserver deaktiviert', liefert der HTTP-Server keine Antworten mehr - ein Zusammenhang zu einem Mail-Server besteht dabei nicht.
Ciao
GG
Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?
An was könnte es denn sonst liegen? Hast du noch eine Idee?
Hallo!
Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?
Wenn der Webhoster seinen Server so eingerichtet hat: ja.
Sollte dieser das Versenden von Mails mittels mail() nicht erlauben, dann nicht.
Ciao
GG
Wenn ich das richtig verstehe, müsste die mail() Funktion dennoch funktionieren?
Nicht wenn dein Webhoster die Absenderadresse nicht kennt.
Ich hatte mal sowas hier am laufen. Damit meldest du dich bei einem Mailserver deiner Wahl an (so wie dein Mailprogramm es auch macht) und verschickst über ihn die Mail. Vielleicht hilfts dir ja.
function SendMail($to, $subject, $body)
{
$headers = array ('From' => "DeinName <deineMailadresse@...>", 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array (
'host' => "deinmailserver...",
'auth' => true,
'username' => "deinusername",
'password' => "deinpasswort"));
$mail = $smtp->send($to, $headers, $body);
return (!PEAR::isError($mail));
}
Vielen Dank für deinen Tip. Werde es gleich testen, Danke
habe d'ehre
Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".
Gruß
Hallo!
Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".
Kläre uns doch bitte auf!
Ciao
GG
Kläre uns doch bitte auf!
Warum sollte ein Server via mail() Mails mit fremden Adressen versenden können/dürfen? Für SPAM wäre das ein Scheunentor ohnegleichen. Du würdest Dich sicherlich freuen, wenn ich von meinem Server täglich ein paar Tausend Mails mit Deiner Adresse verschicke und Du dann auf einer Blacklist landest, oder?
[latex]Mae govannen![/latex]
Denk mal genauer darüber nach, wieso dies nicht funktionieren darf. Und die Betonung liegt dabei auf "darf".
Jein - auf meinem Server darf ich jede Adresse nutzen, die Einschränkung liegt dann aber darin, daß der 5.Parameter von mail() [$additional_parameters] einen Eintrag mit meiner Adresse beim Hoster enthalten muß. Ist dieser nicht gesetzt, wird die mail nicht gesendet. Vielleicht ist es auch hier der Fall
Cü,
Kai
Hallo zusammen
Ich habe ein Projekt auf einem normalen Hosting, die Mails laufen aber über einen komplett anderen Server eines anderen Anbieters. Jetzt wollte ich ein Kontaktformular mittels der PHP Funktion mail() realisieren. Doch die Mails kommen nie an. Am Script kann es eigentlich nicht liegen. Also habe ich beim Hosting Provider nachgefragt und der meinte, da die Mails nicht über das Webhosting laufen, würde auch die Mail Funktion nicht funktionieren. Kann das wirklich sein? Falls ja, was für eine Alternative habe ich, bzw. wie kann ich ein Kontaktforumular ohne mail() realisieren.
Besten Dank für eure Hilfe.
Gruss
Andy
Hi Andy,
habe gerade das unten stehende Programm zum versenden getestet
(mit anderer Empf. Adr). Es läuft. Lass das Prog. einfach auf
deinem Server laufen und du weist auf anhieb, ob das Mailen
generell funktioniert oder nicht (Fehler können ja auch in
deinem Formular liegen ....).
Gruss, Geggi
<?php
$E_Mail_Adr = "hansli@freesurf.ch";
$Betreff = "Nur ein Test";
$mail_text = "Sehr geehrte ...\n";
$mail_text .= "\n";
$mail_text .= "vielen Dank für\n";
// HTML-Code aus String entfernen (bzw. umwandeln).
$mail_text = htmlspecialchars($mail_text);
// Lange Zeilen umbrechen
$mail_text = wordwrap($mail_text, 75, "\n", FALSE);
// Mail Header fuer richtige Umlaut-Anzeige basteln
$additional_headers = "Content-Type: text/plain; charset=UTF-8\r\n";
$additional_headers .= "Content-Transfer-Encoding: 8bit\r\n";
mail($E_Mail_Adr, $Betreff, $mail_text, $additional_headers);
?>