2017-01-18 3 views
0

Ich möchte damit beginnen zu sagen, dass ich fast nichts über PHP weiß, ich habe eine E-Mail-Vorlage von vor langer Zeit, und ich glaube, ich vermasselt etwas. Wenn ich eine E-Mail erhalte, heißt das, dass sie von [email protected] kommt, was meine eigene E-Mail ist. Wie Sie verstehen, ist dies eher unbequem, da ich nicht antworten kann, wenn ich ihre E-Mail-Adresse nicht kenne. Ich glaube, ich habe das Stück Code gefunden, bei dem alles schief gelaufen ist, aber ich weiß nicht, wie ich es beheben soll.E-Mail wird von der eigenen E-Mail-Adresse gesendet

In dem Code, den ich sehe, heißt es, dass die E-Mail von meiner eigenen Adresse ist, ich denke, das ist das Problem, aber wie gesagt, ich weiß nicht, wofür ich es ersetzen soll.

private function sendEmail(){ 
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-Type: text/html; charset=iso-8859-1" . "\r\n"; 
    $headers .= 'To: Ruud <[email protected]>' . "\r\n"; 
    $headers .= 'From: Ruud <[email protected]>' . "\r\n"; 

    $mail = mail($this->email_admin, $this->subject, $this->message, $headers); 

    //$mail = mail($this->email_admin, $this->subject, $this->message, 
//  "From: ".$this->name." <".$this->email.">\r\n" 
//  ."Reply-To: ".$this->email."\r\n" 
// ."X-Mailer: PHP/" . phpversion()); 

    if($mail) 
    { 
     $this->response_status = 1; 
     $this->response_html = '<p>Thank You!</p>'; 
    } 
} 

Dies ist der erste Teil des Codes, wo (glaube ich) der Rest der Informationen, die Sie für eine Lösung benötigen:

kann
function __construct($details, $email_admin, $message_min_length){ 

    $this->name = stripslashes($details['name']); 
    $this->email = trim($details['email']); 
    $this->subject = 'Contact from Your Website'; // Subject 
    $this->message = stripslashes($details['message']); 

    $this->email_admin = $email_admin; 
    $this->message_min_length = $message_min_length; 

    $this->response_status = 1; 
    $this->response_html = ''; 
} 

Um zu sehen, alles, was auf die Website leben zu sehen here

Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen.

Vielen Dank im Voraus!

Ruud

+1

'$ headers. = 'Von: Ruud <[email protected]>'. "\ r \ n"; 'es tut was du sagst es zu tun – nogad

+0

Danke, ich weiß das, aber ich will es sagen, wo die E-Mail eigentlich herkommt. Und wie gesagt, ich weiß nicht, wie ich das ändern soll, da ich kein PHP kenne. – Ruud

+0

Das Problem mit PHP ist, dass alles vor dem Rest der Seite ausgeführt wird, daher der Name, also wäre es schwierig, tatsächlich eine E-Mail auf diese Weise zu senden (ohne eine vorher festgelegte Adresse), könnten Sie die Adresse setzen in einem POST zu einer zweiten Seite, die ein GET verwendet, um es zu bekommen, dann lege das in deine $ headers. – user4261590

Antwort

0

Sie setzen es in den Nachrichtenkopf:

$headers .= 'From: Ruud <[email protected]>' . "\r\n";

einfach auf diese Weise ersetzt werden:

$headers .= 'From: ' . $this->name . '<' . $this->email . '>' . "\r\n";

Sie ähnlichen Code haben, kommentierte unten:

"From: ".$this->name." <".$this->email.">\r\n"

+0

Danke, das hat funktioniert! – Ruud

+0

Ihre Begrüßung @ Ruud –

Verwandte Themen