views:

549

answers:

2

Hay I'm using PHPMailer to send some simple emails, however the function SetFrom() doesn't seem to work, even though the code I'm using is straight from phpmails docs (http://phpmailer.worxware.com/index.php?pg=examplebmail)

Here my error

Call to undefined method PHPMailer::SetFrom()

and my script

require_once('inc/phpmailer/class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = $message;
$mail->SetFrom('[email protected]', 'tell a friend');
$mail->AddAddress($to_email, $to);
$mail->Subject = "tell a friend";
$mail->MsgHTML($body);
$mail->Send();

Any ideas?

EDIT

turns out the SetFrom() function doesnt exist in my version of phpmailer, i can set these values using

$mail->From = '';
$mail->FromName = '';
+1  A: 

Careful, there are multiple versions of PHPMailer around. I've never quite understood which is which. Anyway, this download of PHPMailer 5.1 definitely contains a setFrom method:

  public function SetFrom($address, $name = '',$auto=1) {   
Pekka
Turns out the function SetFrom() doesn't exists (as the error states) however i can set the variables $From and $FromName by using $mail->From = 'x';
dotty
@dotty you are probably using a different (older) Version of PHPMailer.
Pekka
A: 

I concur with Pekka; I downloaded PHPMailer from here, used your code as-is (well, I assigned the $to_email, $to and $message variables) and the submission was successful.

Try using the version Pekka suggested, or this one, and hopefully your problem will go away.

Roadmaster