Advertisement

06.08.2005 at 08:43PM PDT, ID: 21451918
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

PHP Mailer : Mailer Error: Language string failed to load: instantiate

Tags: string, failed, language, instantiate, load
Hi,
Strange problem here. I have installed (for months) on my local server php, mysql & phpMyAdmin using AppServ ver 2.4. Now I've also used the php mailer in the past to send out emails. In fact I sent one out yesterday..Now for some reason I get the following error. I haven't changed anything on the server or the php mailer script....

Mailer Error: Language string failed to load: instantiate

Here is my script
<?
 require "class.phpmailer.php";
  $mail = new PHPMailer();
  $mail->PluginDir = "phpmailer/";
  $mail->From = "faz@domain.com";
  $mail->FromName = "ifaz";
  $mail->AddAddress("info@domain.com", "info");
  $mail->AddReplyTo("faz@domainl.com");
  $mail->Subject = "test";
  $mail->IsHtml(true);
  $mail->Body = "<html><body>HELLO THERE</body></html>";
  $mail->AltBody = "you email client is HTML disabled";
  if(!$mail->Send()) {
     //echo "Message was not sent";
     echo "Mailer Error: " . $mail->ErrorInfo;
  }    
  else {
     echo "Message has been sent";
  }

?>

Pls help....It's super-frustrating when I know I didn't change anything. Thanks.
Start your free trial to view this solution
Question Stats
Zone: Web Development
Question Asked By: skylabel
Solution Provided By: davebytes
Participating Experts: 3
Solution Grade: A
Views: 702
Translate:
Loading Advertisement...
06.08.2005 at 09:00PM PDT, ID: 14176636

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.08.2005 at 09:39PM PDT, ID: 14176760

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.08.2005 at 09:46PM PDT, ID: 14176785

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.08.2005 at 09:48PM PDT, ID: 14176792

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.08.2005 at 10:03PM PDT, ID: 14176841

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.08.2005 at 10:42PM PDT, ID: 14176929

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
06.09.2005 at 08:40AM PDT, ID: 14180875

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
06.08.2005 at 09:00PM PDT, ID: 14176636

Rank: Master

sounds like your sendmail isn't working, assuming linux, or smtp if windows.  That error occurs trying to use the 'mail' built-in php mail() codepath, if the mail function fails.  could also be that your php isn't properly configured for mail().  Oh, and the "language string" thing means that it was unable to load the language files.  maybe a folder changed?  or phpmailer isn't in the same path?

Generally stuff like this happens when SOMETHING changes on your system.  A service isn't running that should be, you upgraded something, etc.  PHP version change, php INI options changed, sendmail or SMTP service change (depending on linux vs windows)... This stuff really doesn't just stop working. ;)  I assume you've rebooted?

-d
 
06.08.2005 at 09:39PM PDT, ID: 14176760
ok, my os is windows xp, and I am on a DSL connection. Do I need any email server software service for php mailer to work? Any tests I can perform to pinpoint the problem?
 
06.08.2005 at 09:46PM PDT, ID: 14176785
i bet you installed service pack 2 lately on your machine or you have some sort of IIS or microsoft product which is stopping a certain processs from firing. i would consider going to administrative tools and services and going to serices to be sure SMTP or IIS(internet information server) isnt running microsoft hosting software is a known conflickt with apache and other open source servers if not setup correctly
 
06.08.2005 at 09:48PM PDT, ID: 14176792

Now I''ve got the error
Mailer Error: Could not instantiate mail function.

i checked out phpinfo() AND
sendmail_path no value no value

could this be the cause, and where is this path supposed to point to?
 
06.08.2005 at 10:03PM PDT, ID: 14176841

Rank: Master

look at:
http://us3.php.net/mail
for the basics, and:
http://us3.php.net/manual/en/function.mail.php
for the specifics on the mail() function.

Under windows, the mail() function relies on PHP being configured with an SMTP server to send via, and that SMTP server needs to be unauthenticating for the local user.

If you'd rather not be running a local SMTP server, you can use whatever SMTP server you use for your DSL.  Just try changing to something like:
$mail->IsSMTP();
$mail->Host = "smtp.dsl.com";
// if your host uses SMTP AUTH, where you need to specify user/pw for outgoing email, add the following too:
$mail->SMTPAuth = true;     // turn on SMTP authentication -- generally needed for most SMTP servers
$mail->Username = "user";  // your SMTP username
$mail->Password = "pass"; // your SMTP password

You also may need to ensure that $mail->From and $mail->Sender are your actual mail account, so that the SMTP server doesn't reject the email based on the headers not matching a valid sender on their system.

-d
 
06.08.2005 at 10:42PM PDT, ID: 14176929
ok..question...Do I need to install a mail smtp server on my localhost machine to use the mail() function to send out emails or does php do that?
 
06.09.2005 at 08:40AM PDT, ID: 14180875

Rank: Master

If you are on windows, and you want to use the mail() function (direct or via phpMailer), YOU need to install an SMTP server.  That's not a 'php thing'.  That's an operating system/services thing.

However, if you use the IsSMTP() example I gave, you can send mail via your DSL provider's normal outgoing SMTP server, and not need to set up anything locally.

-d
Accepted Solution
 
 
01.29.2008 at 01:19PM PST, ID: 20772363
It's not loading the language file so it can't find the error string with the supplied key

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
 $this->SetError($this->Lang('instantiate')); 
 
$this->SetError($this->Lang('instantiate')); 
 
...look what happens...
 
function Lang($key) {
    if(count($this->language) < 1) {
      $this->SetLanguage('en'); // set the default language
    }
 
    if(isset($this->language[$key])) {
      return $this->language[$key];
    } else {
      return 'Language string failed to load: ' . $key; <------look
    }
  }
 
 
 
to make things easy, just change to Lang method
 
 
  function SetLanguage($lang_type, $lang_path = 'language/') {
    if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php')) {
      include($lang_path.'phpmailer.lang-'.$lang_type.'.php');
    } elseif (file_exists($lang_path.'phpmailer.lang-en.php')) {
      include($lang_path.'phpmailer.lang-en.php');
    } else {
      $this->SetError('Could not load language file');
      return false;
    }
    $this->language = $PHPMAILER_LANG;
 
    return true;
  }
 
 
to this....
 
 
  function SetLanguage($lang_type, $lang_path = 'language/') {
    
	$PHPMAILER_LANG = array();
	
	$PHPMAILER_LANG["provide_address"] = 'You must provide at least one recipient email address.';
	$PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.';
	$PHPMAILER_LANG["execute"] = 'Could not execute: ';
	$PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.';
	$PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.';
	$PHPMAILER_LANG["from_failed"] = 'The following From address failed: ';
	$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' .
										   'recipients failed: ';
	$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.';
	$PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.';
	$PHPMAILER_LANG["file_access"] = 'Could not access file: ';
	$PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: ';
	$PHPMAILER_LANG["encoding"] = 'Unknown encoding: ';    
    
    
    $this->language = $PHPMAILER_LANG;
 
    return true;
  }
Open in New Window
 
 
 
20080236-EE-VQP-29