Ich möchte hier nicht wirklich erkären was ein Array ist, das können andere besser.
Um einem Array einen Wert zuzuweisen, kann man das zB so machen wie bereits in dem Skript:
- Code: Select all
$params['host'] = 'mail.gmx.net';
$params['auth'] = true;
Stell es dir für jetzt einmal wie ein Haus vor.
Das Haus hat 2 "Räume". Auf dem einen Raum steht 'host', auf dem anderen 'auth'.
Um an den Kühlschrank mit den Leckerlis zu kommen musst du genau angeben in welchen Raum du willst.
echo $params['host'] oder wenn du in den anderen Raum willst echo $params['auth']
Ich kann dir nur empfehlen dich mit diesen Grundlagen genauer auseinander zu setzen.
Aber für dein eigentliches Problem gerade: In Skript 2 verwendest du einen anderen Namen für die email wie in Skript 1. Was Wiedmann aber schon sagte.
Anbei mal die nötigen Korrekturen:
- Code: Select all
<?php
/**
* Mailversandt über SMTP
*
* Kleines Skript welches eine E-Mail an einen über mehrere Empfänger
* versendet. Dazu verwendet es die Pear-Klasse Mail welche über die
* require()-Anweisung eingebunden wird.
*
* @category Basis-Skript
* @see PEAR::Mail
*/
require_once('Mail.php');
/**
* @var array Ein Feld mit den Verbindungsdaten des Absenders.
*/
$params['host'] = $_POST['smtp'];
$params['auth'] = true;
$params['username'] = $_POST['email'];
$params['password'] = $_POST['passwd'];
/**
* @var mixed Die Adresse des Empfängers bzw. eine Kommagetrennte Liste mehrerer Empfänger
*/
$recipients = $_POST['entfenger'];
/**
* Header der Mail erstellen.
*
* Im From Feld muss zwingend die Mailadresse des Absenders eingetragen werden,
* eine falsche ist nicht zulässig. Es wird eine PEAR Fehlermeldung ausgelöst.
*
* @var mixed Feld mit den Header-Daten der zu versendenden Email.
*/
$headers['From'] = $_POST['email'];
$headers['To'] = $_POST['entfenger'];
$headers['Subject'] = $_POST['betreff'];
/**
* @var string Inhalt der E-Mail
*/
$body = $_POST['text'];
/**
* Das Mail-Objekt anlegen
*/
$mail_object =& Mail::factory('smtp', $params);
/**
* Versenden der E-Mail
*/
$status = $mail_object->send($recipients, $headers, $body);
if (PEAR::isError($status)) echo "Fehler beim E-Mail-Versand.";
?>