legend Posted September 14, 2016 Posted September 14, 2016 Hello I'm using the code below to send mails using our internal relay server. We got a Helpdesk system named Remedy. Our users can send us a mails using outlook 2010, and we'll get a ticket. The problem is if I send a mail using the above script our ticket system can't display unicode characters, like ex: Æ Ø Å. It will display them as: questionmarks: "? ? ?" inside our ticket system. In the outlook inbox it looks fine showing unicode symbols, but in our ticket system the unicode characters will be replaced by questionmarks. The thing is, if they send a mail using outlook, it works fine, but using the script above it doesen't. I tried to save my script with encoding: UTF-8 with BOM, but it didn't fix it. All suggestions are very welcome
AutoBert Posted September 14, 2016 Posted September 14, 2016 (edited) the thread from @Jos exists since 10 years, have you reviewed the whole thread? No, then review it. Yes, oh when the problem don't occured once in 10 years, it would be your script implementation or no solution is possible. Post your script or try with outlookex UDF from @water Edited September 14, 2016 by AutoBert
legend Posted September 14, 2016 Author Posted September 14, 2016 This is the code i'm using: expandcollapse popupFunc _inetsmtpmailcom($s_smtpserver, $s_fromname, $s_fromaddress, $s_toaddress, $s_subject = "", $as_body = "", $s_attachfiles = "", $s_ccaddress = "", $s_bccaddress = "", $s_importance = "Normal", $s_username = "", $s_password = "", $ipport = 25, $ssl = 0) Local $objemail = ObjCreate("CDO.Message") $objemail.from = '"' & $s_fromname & '" <' & $s_fromaddress & ">" $objemail.to = $s_toaddress Local $i_error = 0 Local $i_error_desciption = "" If $s_ccaddress <> "" Then $objemail.cc = $s_ccaddress If $s_bccaddress <> "" Then $objemail.bcc = $s_bccaddress $objemail.subject = $s_subject If StringInStr($as_body, "<") AND StringInStr($as_body, ">") Then $objemail.htmlbody = $as_body Else $objemail.textbody = $as_body & @CRLF EndIf If $s_attachfiles <> "" Then Local $s_files2attach = StringSplit($s_attachfiles, ";") For $x = 1 To $s_files2attach[0] $s_files2attach[$x] = _pathfull($s_files2attach[$x]) If FileExists($s_files2attach[$x]) Then ConsoleWrite("+> File attachment added: " & $s_files2attach[$x] & @LF) $objemail.addattachment($s_files2attach[$x]) Else ConsoleWrite("!> File not found to attach: " & $s_files2attach[$x] & @LF) SetError(1) Return 0 EndIf Next EndIf $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_smtpserver If Number($ipport) = 0 Then $ipport = 25 $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $ipport If $s_username <> "" Then $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_username $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_password EndIf If $ssl Then $objemail.configuration.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True EndIf $objemail.configuration.fields.update Switch $s_importance Case "High" $objemail.fields.item("urn:schemas:mailheader:Importance") = "High" Case "Normal" $objemail.fields.item("urn:schemas:mailheader:Importance") = "Normal" Case "Low" $objemail.fields.item("urn:schemas:mailheader:Importance") = "Low" EndSwitch $objemail.fields.update $objemail.send If @error Then SetError(2) Return $omyret[1] EndIf $objemail = "" GUICtrlSetData($initialer,"") GUICtrlSetData($emne,"") GUICtrlSetData($sag_edit,"") MsgBox(64, "", "Der er sendt en sag til servicedesk") EndFunc Func myerrfunc() $hexnumber = Hex($omyerror.number, 8) $omyret[0] = $hexnumber $omyret[1] = StringStripWS($omyerror.description, 3) ConsoleWrite("### COM Error ! Number: " & $hexnumber & " ScriptLine: " & $omyerror.scriptline & " Description:" & $omyret[1] & @LF) SetError(1) Return EndFunc
water Posted September 14, 2016 Posted September 14, 2016 Create the body of the mail as HTML and encode the special characters. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
AutoBert Posted September 14, 2016 Posted September 14, 2016 Your script shows me you haven't viewed the thread, so you couldn't find:
legend Posted September 14, 2016 Author Posted September 14, 2016 1 hour ago, AutoBert said: Your script shows me you haven't viewed the thread, so you couldn't find: Thank's a lot, that solved my problem
AutoBert Posted September 14, 2016 Posted September 14, 2016 57 minutes ago, legend said: Thank's a lot, that solved my problem next time read threads to used scripts carefully,
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now