zfred09 Posted January 7, 2007 Share Posted January 7, 2007 I get this error when sending email, I'm using phpmailer, windows os, and my smtp server is remote. How do I fix this error?[code] ini_set("include_path", ".:/path/to/phpmailer/dir"); ini_set("include_path", ".:/path/to/smtp/dir"); ini_set("include_path", ".:/path/to/phpmailer.lang-en/dir"); $mail = new PHPMailer(); $mail->IsSMTP(); // set mailer to use SMTP $mail->Host = "smtp.mydomain.com"; // specify main and backup server $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = "username"; // SMTP username $mail->Password = "pass"; // SMTP password $mail->From = "support@mydomain.com"; $mail->AddAddress("blah@gmail.com"); $mail->Subject = "Blah"; $mail->Body = " Email text"; [/code] Quote Link to comment Share on other sites More sharing options...
printf Posted January 7, 2007 Share Posted January 7, 2007 What are all the ini_set(s) for, each one will overwrite the other. If you need to include all those paths, then put them all to together and call ini_set() (1) time![code]ini_set ( 'include_path', '.;/path/to/phpmailer/dir;/path/to/smtp/dir;/path/to/phpmailer.lang-en/dir');[/code]That should fix the phpmailer, not being able to find the [b]language[/b] directory!printf Quote Link to comment Share on other sites More sharing options...
zfred09 Posted January 7, 2007 Author Share Posted January 7, 2007 That gave me the error message [color=red]Fatal error: Cannot instantiate non-existent class: phpmailer in /blah.php on line 22[/color] Quote Link to comment Share on other sites More sharing options...
printf Posted January 7, 2007 Share Posted January 7, 2007 Your on Windows, so be sure to use full paths...IE: [code]ini_set ( 'include_path', '.;C:/phpmailer-1.73/phpmailer/');[/code]Or tell me where you have it installed and show the [b]exact code[/b] your using to create the object.printf Quote Link to comment Share on other sites More sharing options...
zfred09 Posted January 7, 2007 Author Share Posted January 7, 2007 I have it extracted onto my desktop and then I uploaded the class.phpmailer.php and class.smtp.php and the language file to my remote server with ftp. Heres the object code, [code]class PHPMailer{ ///////////////////////////////////////////////// // PUBLIC VARIABLES ///////////////////////////////////////////////// /** * Email priority (1 = High, 3 = Normal, 5 = low). * @var int */ var $Priority = 3; /** * Sets the CharSet of the message. * @var string */ var $CharSet = "iso-8859-1"; /** * Sets the Content-type of the message. * @var string */ var $ContentType = "text/plain"; /** * Sets the Encoding of the message. Options for this are "8bit", * "7bit", "binary", "base64", and "quoted-printable". * @var string */ var $Encoding = "8bit"; /** * Holds the most recent mailer error message. * @var string */ var $ErrorInfo = ""; /** * Sets the From email address for the message. * @var string */ var $From = "support@mediatrdr.com"; /** * Sets the From name of the message. * @var string */ var $FromName = "Support"; /** * Sets the Sender email (Return-Path) of the message. If not empty, * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode. * @var string */ var $Sender = ""; /** * Sets the Subject of the message. * @var string */ var $Subject = ""; /** * Sets the Body of the message. This can be either an HTML or text body. * If HTML then run IsHTML(true). * @var string */ var $Body = ""; /** * Sets the text-only body of the message. This automatically sets the * email to multipart/alternative. This body can be read by mail * clients that do not have HTML email capability such as mutt. Clients * that can read HTML will view the normal Body. * @var string */ var $AltBody = ""; /** * Sets word wrapping on the body of the message to a given number of * characters. * @var int */ var $WordWrap = 0; /** * Method to send mail: ("mail", "sendmail", or "smtp"). * @var string */ var $Mailer = "mail"; /** * Sets the path of the sendmail program. * @var string */ var $Sendmail = "/usr/sbin/sendmail"; /** * Path to PHPMailer plugins. This is now only useful if the SMTP class * is in a different directory than the PHP include path. * @var string */ var $PluginDir = ""; /** * Holds PHPMailer version. * @var string */ var $Version = "1.73"; /** * Sets the email address that a reading confirmation will be sent. * @var string */ var $ConfirmReadingTo = ""; /** * Sets the hostname to use in Message-Id and Received headers * and as default HELO string. If empty, the value returned * by SERVER_NAME is used or 'localhost.localdomain'. * @var string */ var $Hostname = "";[/code] Quote Link to comment Share on other sites More sharing options...
zfred09 Posted January 7, 2007 Author Share Posted January 7, 2007 Ok I just took out the ini_set function and put this in [code]require("class.phpmailer.php"); require("class.smtp.php"); require("phpmailer.lang-en.php");[/code] About 75% of the time the email sends but ever so often I get the [color=red]Language string failed to load: recipients_failed[/color] error message. Quote Link to comment Share on other sites More sharing options...
zfred09 Posted January 8, 2007 Author Share Posted January 8, 2007 Bump, does anyone know how to fix this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.