Vserver problem :: mail versenden

anx!ety

New Member
Hallo,

war mir nicht sicher in welche Kategorie mein Thema gehört. Bitte verschieben, wenn es wo anders besser reinpasst.

Nun zu meinem Problem:

Habe einen Vserver auf dem apache2 und php5 installiert sind.
Habe eine Webseite (als Vhost) auf dem Webserver laufen.
Ich benutze ein AjaxMailscript, dass ich früher auch schon bei Webhoster installiert habe. Es funktionierte dort einwandfrei.
Das Problem: Auf meinem Server läuft es komischerweise nicht und ich weiß nicht warum.

Hier mal die config files des mailscripts:

config.php:

Code:
<?
// Die 4 Variabeln solltest du ändern
$yourName = 'Mein Name';
$yourEmail = 'meineadresse@provider.de';
$yourSubject = 'Kontaktformular von MeinName aus bla bla bla';
$referringPage = 'http://www.meinedomain.de';
// ab hier sind keine weiteren Veränderungen notwenig, ausser du möchtest etwas hinzufügen / entfernen

// Warnungen und Meldungen
$notOK = 'Ihre E-Mail konnte nicht gesendet werden. Bitte versuchen Sie es nochmals.';
$isOK = 'Ihre E-Mail wurde uns zugeschickt.';

$emptyMail = '<strong style="color:#0066cc;">Sie versuchen eine leere E-Mail zu versenden. Bitte geben Sie etwas ein um uns zu kontaktieren.</strong>';
$wrongMail = '<strong style="color:#0066cc;">Das Formular enth&auml;lt ung&uuml;ltige Eingaben. Bitte versuchen Sie es noch einmal.</strong>';
$loadBar = '<strong>Ihre E-Mail wird vom Server verarbeitet. Bitte warten...</strong><img src=\"img/loading.gif\" alt=\"Loading...\" title=\"Sending Email\" />';
$mailAdress = '<strong style="color:#0066cc;">Bitte geben Sie eine g&uuml;ltige E-Mail Adresse ein.</strong>';
?>

contact.php

Code:
<?php

include('config.php');

function cleanPosUrl ($str) {
return stripslashes($str);
}
	if ( isset($_POST['sendContactEmail']))
	{
		if(cleanPosUrl($_POST['posEmail'] == '') || cleanPosUrl($_POST['posText'] == ''))
		{
			die(header('Location: '.$referringPage.'?error=true'));
			
		}
		$to = $yourName." <".$yourEmail.">";
		$subject = $yourSubject.': '.$_POST['posRegard'];
		$message = cleanPosUrl($_POST['posVname'])." ".cleanPosUrl($_POST['posNname'])."\r\n".cleanPosUrl($_POST['posText']);
		$headers = "From:".cleanPosUrl($_POST['posNname'])." ".cleanPosUrl($_POST['posVname'])." <".cleanPosUrl($_POST['posEmail']).">\r\n";
		$mailit = mail($to,$subject,$message,$headers);
			if ( @$mailit ) {
			header('Location: '.$referringPage.'?success=true');
			}
			else {
			header('Location: '.$referringPage.'?success=false');
			}
	}
?>

xmlHttpRequest.php

Code:
<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';

echo '<resultset>';

include('config.php');

function cleanPosUrl ($str) {
$nStr = $str;
$nStr = urldecode($nStr);
return stripslashes($nStr);
}
	if ( $_GET['contact'] == true && $_GET['xml'] == true && isset($_POST['posText']) ) {
	$to = $yourName." <".$yourEmail.">";
	$subject = $yourSubject.': '.cleanPosUrl($_POST['posRegard']);
	$message = cleanPosUrl($_POST['posNname'])." ".cleanPosUrl($_POST['posVname'])."\r\n".cleanPosUrl($_POST['posText']);
	$headers = "From:".cleanPosUrl($_POST['posNname'])." ".cleanPosUrl($_POST['posVname'])." <".cleanPosUrl($_POST['posEmail']).">\r\n";
	$mailit = mail($to,$subject,$message,$headers);
		
		if ( @$mailit )
		{ $posStatus = 'OK'; $posConfirmation = $isOK; }
		else
		{ $posStatus = 'NOTOK'; $posConfirmation = $notOK; }
		
		if ( $_POST['selfCC'] == 'send' )
		{
		$ccEmail = cleanPosUrl($_POST['posEmail']);
		@mail($ccEmail,$subject,$message,"From:$ccEmail\r\n");
		} 
	
	echo '
		<status>'.$posStatus.'</status>
		<confirmation>'.$posConfirmation.'</confirmation>
		<regarding>'.cleanPosUrl($_POST['posRegard']).'</regarding>
		';
	}
echo'	</resultset>';

?>

Hier noch das Kontaktformular:

Code:
<div id="contactFormArea">
		<form action="scripts/contact.php" method="post" id="cForm">
			<fieldset>
				<p><label for="posNname">Name:</label>
				<input class="text" type="text" name="posNname" id="posNname" /></p>
				<p><label for="posVname">Vorname:</label>
				<input class="text" type="text" name="posVname" id="posVname" /></p>
				<p><label for="posEmail">E-Mail:</label> <span>Pflichfeld</span>
				<input class="text" type="text" name="posEmail" id="posEmail" /></p>
				<p><label for="posRegard">Grund der Kontaktaufnahme:</label>
				<input class="text" type="text" name="posRegard" id="posRegard" /></p>
				<p><label for="posText">Mitteilung:</label> <span>Pflichfeld</span>
				<textarea cols="50" rows="5" name="posText" id="posText"></textarea></p>
				<p><label for="selfCC" id="checkbox">
					<input type="checkbox" name="selfCC" id="selfCC" value="send" /> Kopie Ihrer Mitteilung an Sie senden?
				</label></p>
				<p><label>
					<input class="submit" type="image" src="img/a-send.png" name="sendContactEmail" id="sendContactEmail" value=" E-Mail versenden " />
				</label></p>
			</fieldset>
		</form>
		<br />
		<h2>Info</h2>
        <b>Die blau umrandeten Felder <u>m&uuml;ssen</u>
  ausgef&uuml;llt werden.</b><br />	
</div>


Meine Vermutung ist, dass es an nicht installierten bzw. aktivierten Paketen für den Versand von Mails liegt, nur ich habe keine Ahnung welche das sein sollen.
Benötige ich da spezielle Pakete bzw. muss ich irgendwo den Mailversand aktivieren?

Hoffe auf eure Hilfe,

Mit freundlichen Grüßen,

anx!ety
 
Habe postfix installiert und der Mailversand funktioniert jetzt.

Problem gelöst.

Mit freundlichen Grüßen,

anx!ety
 
$subject = $yourSubject.': '.$_POST['posRegard'];
Wenn ich das schon wieder sehe... :(
Gib doch bitte die ganze URL zu dem Script an, dann kann ich wieder 100.000 Viagra-Mails verschicken!

huschi.
 
Back
Top