My PHP account is hosted by the university. I want to send email to my gmail account and not the account tied to my PHP account. Is this possible?

8 Years
Discussion Span
Last Post by digital-ether

I know how to send email in PHP. I want to send email using a different email account.


mail ('to@someone.com','TEST','HELLO','FROM:email@addressofmychoice.com');

Edited by allincorporated: n/a


Most self respecting hosts deny you the right to do this as you could be sending spam from an anonymous(ish!) address. My favourite host insists that your email 'from' has the same domain address.


Thanks Allin. It may be of use in the future.

However, at the moment, I use the email of the domain - it gives the recipient confidence in the mail if it shows the same name. I just have forwarders to my main account from the domain accounts. Solves a lot of hassle.

I'm not familiar with the package, can it be used without the host having it installed on their server? That is, can a user just include it in their page?


It doesn't matter if you use pear or mail(), an email server configured to deny senders that do not have accounts on the mailserver will not send email with different sender addresses.

If your mail server sends email with sender addresses with accounts not on the server, then you essentially have an open relay, which will likely hinder your ability to send email as it will be marked spam, and also invite spammers to use your mail server.

Votes + Comments
Aha - sense at last. Thought I was losing the plot.

Thanks DE, I was wondering if a host's attempts to prevent spamming could be so easily circumvented.


I may be wrong, but when using Pear to send email, the script connects to the mail server and the mail is sent from there and not the server that is hosting the script.


I may be wrong, but when using Pear to send email, the script connects to the mail server and the mail is sent from there and not the server that is hosting the script.

You're definitely right. Pear Mail class allows you to connect to an SMTP server and send email (it can also send email from the local machine via sendmail, like PHP does on linux). However, even if you connect to a remote host, it will not send email addressed from another host, it will only send email for domains it controls. You have to log into that domain, and send email from your own account.

After reading the original post, I think what the poster wants is to send email addressed from their gmail account? If so then yes, use Pear Mail or another SMTP Mailer.

Here is the gmail.com SMTP docs:

Gmail forces SSL, so here's an untested example using SSL (change user and pass to your own):

require_once "Mail.php";

$config = array(
'host' => "ssl://smtp.gmail.com",
'IDHost' => "gmail.com",
'port' => 465,
'auth' => true,
'username' => "youremail@gmail.com",
'password' => "yourpassword"

$SMTP_Mailer = Mail::factory('smtp',$config);

$from = "Testuser <testuser@gmail.com>";
$to = "Jon Doe <jon@doe.net>";
$subject = "Hi!";
$body = "Hi,nnHow are you?";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);

$result = $SMTP_Mailer->send($to, $headers, $body);

if (PEAR::isError($result)) {
  echo("<p>" . $result->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");

Based on example at: http://forums.codewalkers.com/pear-packages-47/smtp-login-to-gmail-won-t-work-47285.html

Note: You need a gmail account. You can't send email through Gmail without one. It is a good example of a server configured not to allow you to spoof the sender address.

Edited by digital-ether: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.