Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

included is the header results form yahoo message. You will see if there that is has but I need it to not be and to be from my server, is there any way to make it send as my instead of the server. The domain I want it sending from is not on the same server.

I am using PHP

    From iNcard Thu Sep 15 20:25:29 2011
X-Apparently-To: via; Thu, 15 Sep 2011 20:25:32 -0700
Return-Path: <>
Received-SPF: none (domain of does not designate permitted sender hosts)
X-YMailISG: lo3RhWoWLDv_WHz3JN9HmYtpybG2PDVs8qfPdALeMm06q6Va
X-Originating-IP: []
Authentication-Results:; domainkeys=neutral (no sig);; dkim=neutral (no sig)
Received: from  (EHLO (
  by with SMTP; Thu, 15 Sep 2011 20:25:32 -0700
Received: from realcas by with local (Exim 4.69)
    (envelope-from <>)
    id 1R4P3R-0006qu-DD
    for; Thu, 15 Sep 2011 22:25:29 -0500
Subject: iNcard Eftpos Lifestyle Guide
X-PHP-Script: for
From: iNcard <>
Reply-To: iNcard <>
X-Mailer: PHP v5.2.17
MIME-Version: 1.0
Content-Type: text/html; boundary="75434adf143cb37a87b1e10e2f08ffd4"
Sender:  <>
Date: Thu, 15 Sep 2011 22:25:29 -0500
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname -
X-AntiAbuse: Original Domain -
X-AntiAbuse: Originator/Caller UID/GID - [500 32002] / [47 12]
X-AntiAbuse: Sender Address Domain -
X-Source: /usr/bin/php
X-Source-Args: /usr/bin/php /home/realcas/public_html/system/classes/core.php 
Content-Length: 8054


public function sendemail($name, $whichemail, $emailaddress, $sender)
        $this->whichemail = $whichemail;

        $getemail = mysql_query("SELECT * FROM sendemails WHERE id = '".$this->whichemail."'");

        $row = mysql_fetch_array($getemail);

//      print $row["typeid"];
        if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { 
        } elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { 
        } else { 
        $headers .= 'From: iNcard <'.$sender.'>'.$eol; 
        $headers .= 'Reply-To: iNcard <'.$sender.'>'.$eol; 
        $headers .= 'Return-Path: iNcard <'.$sender.'>'.$eol;     // these two to set reply address 
        $headers .= "Message-ID:<".$now.">".$eol; 
        $headers .= "X-Mailer: PHP v".phpversion().$eol;           // These two to help avoid spam-filters 
        # Boundry for marking the split & Multitype Headers 
        $headers .= 'MIME-Version: 1.0'.$eol; 
        $headers .= "Content-Type: text/html; boundary=\"".$mime_boundary."\"".$eol; 

        $body = $row["html"];

        $correct = array($name, $emailaddress, $sender, "{$this->whichemail}");
        $wrong   = array("[name]","[sendTo]", "[sendFrom]", "[whatemail]");

        $newbody = str_replace($wrong, $correct, $body);

        mail($emailaddress, $row["subject"], $newbody, $headers,"");
share|improve this question

migrated from Sep 16 '11 at 8:30

This question came from our site for professional and enthusiast programmers.

Would be helpful to see the php code for sending this email. – Alan Moore Sep 16 '11 at 3:34
it shows the from address is is that the one it shouldn't be? – thegaffney Sep 16 '11 at 3:37
Is your question How do I get Yahoo to not do a reverse dns lookup of the origin of an e-mail? You don't. That has nothing to do with programming. – mootinator Sep 16 '11 at 3:41
yes but in outlook it says via – RussellHarrower Sep 16 '11 at 3:47
are you sending emails using some public mail server or your own mail server? – thegaffney Sep 16 '11 at 3:53

2 Answers 2

Some mail servers will add the Sender: header if the From: header doesn't match its understanding of the message's originator. If you have control over your site's Exim configuration, I believe you should be able to turn off this behavior.

If you also don't want to be visible in the Received: headers, you are most probably in for a bigger change in how you send email. One possibility would be to outsource message sending to a third party; depending on your reasons for wanting to do this, that may not be acceptable, either.

By the way, it's pointless to try to set Return-Path, as that will be set to your envelope sender at the receiving end. Perhaps there is a way to set the envelope sender from PHP, too (in which case I guess your Sender: problem could disappear, too).

share|improve this answer
Hmm, I guess that's the sendmail_from alluded to in @thegaffney's answer. – tripleee Sep 16 '11 at 4:58

Ooo maybe I know what the problem is, the domain of the from address ( doesnt match the name of the server its being sent from (

If the email address your trying to say its from doesn't match the server name, your email will most likely get marked as spam, and some clients, will show that the email really didnt come from a server called ( which is true in your case.

If you own then you need to change your nameservers to point all (or at least mail) traffic to the ip address that ( is on

If you already have done this, then your mail settings in your php.ini need to be changed to match the address

sendmail_from =
share|improve this answer
I don't think DNS has a role in this; fixing the envelope sender should suffice, I believe. – tripleee Sep 16 '11 at 5:06
@tripleee Yeah true, it might fix the problem of recieving the message, but what happens when someone replies to the email? If the domain has no public dns record then they are going to get a return-email with an error along the line of The destination server for this recipient could not be found in Domain Name Service (DNS). Please verify the email address and retry. – thegaffney Sep 16 '11 at 5:24
While true, I don't think it has any bearing on the OP's problem. – tripleee Sep 16 '11 at 5:53
its definitely going to be their next problem though :) But good point – thegaffney Sep 16 '11 at 5:55

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.