By http://www.syrianmeds.net/ & http://www.milado.net/
Introduction:
In order to solve the problem with unicode (UTF-8) in some Email Service Providers (such as Hotmail, Yahoo and many others), I created this product.
It converts the sent out messages only, from your real encoding into an encoding of choice, both encodings, the source & destination must be supported by http://www.gnu.org/software/libiconv/#introduction.
You may know, I had converted to UTF-8 and faced this problem, now it's solved.
Caution:
This product is provided
As Is without warranties.
Requirements:- vBulletin 3.6.4+
- iconv PHP extension is installed on your system, or your PHP version is 5 and above.
Supported Encodings:
See http://www.gnu.org/software/libiconv/#introduction
Installation or Upgrading:- Import the product file product-vmail_converter.xml (Choose Yes when Upgrade).
- Go to vBulletin Options -> Email Options -> vMail Converter - Destination Encoding.
- Set your Destination Encoding and save (For me, It's windows-1256).
- In /includes/class_mail.php Replace every
PHP Code:
$stylevar['charset']
WITH
PHP Code:
$this->get_charset()
- In /includes/class_mail.php Find
PHP Code:
function start($toemail, $subject, $message, $from = '', $uheaders = '', $username = '')
{
Add after:
PHP Code:
// vMail Converter START
$subject = $this->vmail_convert($subject);
$message = $this->vmail_convert($message);
// vMail Converter END
- In /includes/class_mail.php Find again
PHP Code:
function start($toemail, $subject, $message, $from = '', $uheaders = '', $username = '')
{
Add before:
PHP Code:
// vMail Converter START
function vmail_convert($item)
{
global $stylevar;
if (function_exists('iconv') AND $item != '')
{
return @iconv($stylevar['charset'], $this->registry->options['vmail_converter_destination'], $item);
}
else
{
return $item;
}
}
function get_charset()
{
global $stylevar;
if (function_exists('iconv'))
{
return $this->registry->options['vmail_converter_destination'];
}
else
{
return $stylevar['charset'];
}
}
// vMail Converter END
- In /includes/class_mail.php Find twice
PHP Code:
$mailfromname = $this->encode_email_header(unhtmlspecialchars($mailfromname, $unicode_decode), $encoding);
Add before
PHP Code:
// vMail Converter START
$mailfromname = $this->vmail_convert($mailfromname);
// vMail Converter END
- In /includes/class_mail.php Find
PHP Code:
$fromemail = $from;
Add before
PHP Code:
// vMail Converter START
$from = $this->vmail_convert($from);
// vMail Converter END
Save and upload the file again.
- You're done.
Known issues:
Versions:- 1.0.0 (initial release). (5. April 2007)
- 1.1.0 (10. April 2007)
- 1.1.1 (11. April 2007) fix a bug
- 1.2.0 (17. May 2007) Very good version, every bug fixed.
Support is given for who clicks "install" only.
Mark it as "Installed" to receive updates and support.