mail functie accepteerd geen @home addressen

Status
Niet open voor verdere reacties.

Savior777

Gebruiker
Lid geworden
20 okt 2008
Berichten
8
Vandaag kwam ik nog een probleempje tegen m.b.t. de mailfunctie.

Ik heb namelijk een mail scriptje en die functioneerd goed. Behalve als ik naar mijn @home addres wil versturen. Dat pakt hij niet.

Het is waarschijnlijk iets wat in de mail functie ontbreekt. Alleen zou niet durven te zeggen wat.

@SvU: Voor als je dalijk met Swiftmailer komt. Ik ga dit zeker uitproberen:thumb:, maar zou ook graag willen weten wat er ontbreekt aan die gewone mail(); functie. Dat hij niet verzend naar home addressen.
 
Wat bedoel je met "pakt hij niet"?

Werkt de hele functie niet meer?
De mail lijkt verstuurd maar er komt niets binnen? (Spambox gecontroleerd?)

Plaats ook even met welke code je dit hebt getest :)
 
Mailen is een vrij gecompliceerd proces. Of een mail al dan niet geaccepteerd wordt door de ontvangende mailserver hangt af van een X aantal factoren, waarmee ik je niet zal belasten. De vierde parameter van de mail()-functie is wat dat betreft cruciaal; de headers. Daarin staat alle informatie die de ontvangende servers nodig hebben. Het is vrij lastig om zelf uit te zoeken welke headers je bij welke/wat voor soort mail nodig hebt. Hiervoor zijn classes als SwiftMailer uitgevonden, die al dat werk voor je uit handen nemen.

Het is ondoenlijk dat zelf te gaan doen. SwiftMailer bevat 330 bestanden en 45 mappen, dat is dus wat er nodig is om alle soorten mails te allen tijde te verzenden. Overigens is het versturen van een mail via SwiftMailer niet veelomvattend. Een snippet van een activatiemail die ik verstuur:

PHP:
// Hier maak ik het Swift-object aan. Ik voeg de connectie doe. Dat laatste 'SMTP', is een constantie, waarin ik de SMTP-server heb gedefinieerd. Feitelijk staat er dus 'new Swift_Connection_SMTP('smtp.domein.nl'));
$oSwift	= new Swift(new Swift_Connection_SMTP(SMTP));

// Hier maak ik het Message-object.
$oMessage = new Swift_Message($sSubject);

// Hier voeg ik een normaal bericht doe, in plain text.
$oMessage->attach(new Swift_Message_Part($sMessage));

// Mocht de client HTML-berichten ondersteunen, komt hier het HTML-bericht erin.
$oMessage->attach(new Swift_Message_Part($sMessageHTML, 'text/html'));

// En hier wordt de mail verzonden, de laatste 2 constanten (FROM en FROMNAME) bevatten 'Robin' en 'robin@domein.nl'
$oSwift->send($oMessage, new Swift_Address($this->sEmail, $this->sFirstname.' '.$this->sSurname), new Swift_Address(FROM, FROMNAME));

Het ziet er in eerste instantie ingewikkeld uit, maar zo weet je _zeker_ dat je mail aankomt (als het mailadres juist is uiteraard, hehe).
 
Hieronder een stukje van de php code die ik gebruik. Met de standaard mail functie van php.

PHP:
	$headers =  "From: ".$row['usr_name']."<".$row['usr_email'].">\n";
		$headers .= "Reply-To: ".$row['usr_name']."<".$row['usr_email'].">\n";
		$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
		$headers .= "X-Mailer: PHP/" . phpversion();
		$headers .= 'MIME-Version: 1.0' . "\r\n";

		
		// Send mail
		
$mail = mail($_POST['email'], $row['usr_name'] . " stuurde jou een bericht!", $txt_tlafrnd_deftext . "\n" . $_POST['text'], $headers);

Ik heb een aantal headers erbij gezet, maar dit mag ook niet baten voor versturen naar @home adres.

Verder werkt hij gewoon perfect als je naar hotmail of gmail verstuurd. Spambox gechecked en geen mail gevonden in outlook (@home mail).

@SvU: Ik ben op dit moment swiftmailer aan het proberen. Ik denk dat ik dit in de toekomst gebruik voor mailen in php. Goede tip!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan