webForumDet fria alternativet

Return-path +sendmail +php

4 svar · 643 visningar · startad av cefalk

cefalkMedlem sedan juni 2000278 inlägg
#1

När jag skickar mail från php sätter sendmail Return-Path: till apache@mindomän.com det innebär om någon annan skickar mail via php och brevet studsar tillbaka blir det till apache@mindomän.com och inte adress@mindomän.com är det någon som förstår vad jag menar?

benkenMedlem sedan feb. 2003250 inlägg
#2

Kolla i php.ini där kan du ställa in den adressen. Om jag fattar vad du menar...

cefalkMedlem sedan juni 2000278 inlägg
#3

Nej det går inte för det ska vara olika avsändare. Löste det genom att skapa en socket till servern och skicka via sendmail direkt istället för att använda php´s mail funktion.

SPiNMedlem sedan mars 20007 896 inlägg
#4

Du kan ju annars sätta headers i PHP för mailet:

...
$headers = "Return-path: adress@doman\n";
mail( ..., $headers );
cefalkMedlem sedan juni 2000278 inlägg
#5

Jag ser att jag missat en sak jag skulle använda mig av imap_mail och då fungerar det inte att ändra Return-path.... Så jag gjorde enligt följande:


	function mailfrom($fromaddress, $mess)
	{
		$fp = popen("/usr/sbin/sendmail -t -f" . $fromaddress, "w");

		fputs($fp, $mess);
		//fputs($fp, $body);
		fputs($fp, "\n");

		pclose($fp);
	}

$envelope["from"] = "$_SERVER[PHP_AUTH_USER]@server.com";
$envelope["to"] = $mottagare;
$envelope["cc"] = $kopia;
$envelope["subject"] = $rubrik;

$part1["type"]=TYPEMULTIPART;
$part1["subtype"]="mixed";

$part2["type"]=TYPETEXT;
$part2["subtype"]="plain";
$part2["contents.data"]=$meddelande;

$body[1]=$part1;
$body[2]=$part2;

//echo nl2br(imap_mail_compose($envelope,$body));
$data = imap_mail_compose($envelope,$body);

mailfrom($envelope['from'], $data);
122 ms totalt · 3 externa anrop · v20260731065814-full.a4c710cd
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)