I'm doing chatbot based on Giga AI Messenger bot, and I have problem when bot automatic reply, it can not send emoji.
I set charset encoding is utf8mb4 / utf8mb4_general_ci in both database connection (in database.php) and in database schema (I use navicat).
In original Giga AI, when I save reply with emoji to database, I can see emoji when use PhpMyadmin, but with navicat, it show "?" for that emoji like [{"text":"?"}]
But when I save with json_encode(), it show unicode string like [{"text":"\"\\ud83d\\ude02\""}].
So how can I send emoji from bot to messenger?
Thanks.
Related
I run into an issue with module webform2pdf, which I am too unable to solve for a few days. I am using Commerce Kickstart as a drupal commerce module for handling all the shopping fuctionality, and we were in need to add webforms for returns policy (required by law in my country).
This form has many fields, like when you have pursached the product, what is it's serial number etc. Webform2pdf module was used for sending submitted data as PDF as attachment to email. But the received PDF by mail has blank data tokens, no matter how I try. Weird thing is, that when I hit download PDF in administration of drupal website, it just fills the data tokens right.
I have tried many tokens, all of these:
[submission:values:meno:withlabel]
[submission:values:meno]
[webform:val-meno]
[webform:meno]
%email[meno]
%email_values
%label_nl[meno]
%nl[meno]
%label_all[meno]
%label_all_nl[meno]
%all[meno]
%all_nl[meno]
[submission:values]
%value[meno]
Neither of them works, most of them simply prints token label. For example [submission:values] prints all the labels, but no data.
Upper in the mail, I have also token:
%label_all[typ_servisu]
Which prints correctly when sent via mail, but refuses to print when "download PDF" in administration. This token holds select radio buttons.
I have also tried send pdf as attachment via Rules, but with no success. I am not very experienced developer.
Any advice would be greatly appreciated. Thank you.
i am read a email using Web-methods services and facing problem, Web-methods reading HTML format email as a plain text and giving us HTML. so, i like to set content type as plain text through mail-to function. and i am using this syntax but not working:
mailto:xxxxxxx#sapient.com?Content-type=text/plain"
problem solved, solution: we can add a property on exchange server for particular email id that this email id will get email in text/plain form only. so now i am sending a HTML email then exchange server convert it as a plain text email.
I am working on an application with xpages.I would like to send emails with that contain links.
When I send the link, it does not appear in clickable format.Can someone help me to have clickable format?
Thank you
var db = session.getCurrentDatabase();
var memo = db.createDocument();
memo.appendItemValue("Body","http://www.my_link.com");
memo.appendItemValue("Form", "Memo");
memo.appendItemValue("Subject", "New task !");
var t = mail.getValue();
memo.send(t);
If you do it like this, the "Body"- Item is a simple Text- Item and not a Richtext- Item. Text- Items cannot contain clickable links.
You have to explicitly define Body as a NotesRichtextItem and append text to it:
var rtitem:NotesRichTextItem = memo.createRichTextItem("Body");
rtitem.appendText("http://www.my_link.com");
rtitem.addNewLine();
This way the link will automatically be converted to a clickable hotspot.
If you are hoping that the statement memo.appendItemValue("Body","http://www.my_link.com"); will create a rich text field with link then it won't. For that use NotesRichTextItem class. You could also look into this Technote on how to create HTML formatted mail messages.
One question here, where will the recipient would be viewing this mail? In Notes client or this mail would be sent to IDs like Gmail or Yahoo? If recipient would be viewing this mail in Lotus Notes then you would have to enable this setting in your Notes client.
Go to File > Preferences > Basic Notes Client Configuration. Under the section Additional options enable the setting Make Internet URLs (http://.......) into Hotspots.
If the mail is being sent to IDs like Gmail or Yahoo then you would be at their mercy on how links are displayed. But in my experience they always display links, if they are in valid format.
I have this account creation email that is sent out to anyone who is trying to create an account as I need to authenticate that they are who they say they are.
However, my issue here is that the URL where they need to click when they receive my email is too long and some email clients do not handle that very well and sometimes truncates the URL thus making the URL invalid when clicked.
Because the URL contains the domain name, the hashed email and a long activation code. It looks something like this.
http://domain.com/activation?email=75a5867d3df134bededbaf24ff17624d&key=8fecb20817b3847419bb3de39a609afe
While some email clients are ok with this but some are not...And I don't want to use HTML email and rather stick with plain/text email. Also I heard horrible stories using URL shorteners so I am not sure if I should use them...
Any insights in this area is appreciated!
I would definitely agree with Jason: shorten your url.
Think of what you really need.
Most likely the email address is in the database already, so you can refer to if with a short ID (let's say 7 numbers max). Your signature can be something very simple as substring (base64_url(md5(email+salt)), 0, 5). 5 base64 characters are 64^5=about 1 billion possibilities. This is probably secure enough (and what would the real damage be if someone registered with a wrong email address). So your url would be http://domain.com/activation?email=1234&key=aD5Y_, http://domain.com/activation?e=1234&k=aD5Y_ or even http://domain.com/activation?e=1234aD5Y_ . In the last format you know the last 5 characters are the key, so the rest is the id. Note that the code example assumes md5 to return in an 8-bit string format (and not hex string format), and base64_url uses a url safe base64 method. Also, some background info on a salt.
If your email address has a long id or needs to be encoded in the url as well, or the above is not short enough yet, consider an even shorter form. Basically this will result in making your own url shortener. Just before you insert the link into the email, generate some random 5 character string. Insert this string as key into memcached (or the database), with as value the original url. Then your url could be http://domain.com/redirect?key=rT-tW . When you see this in your app, just retrieve the original url from the database/memcached and redirect there.
Do make sure that your system is robust against the following:
Someone enters an email address (their real email), you send the link
That person changes their email address into something fake on the website before clicking the link, you send a new email to the new (fake) email address
They now click the link from the first email and your website confirms their email address in the second (fake) form.
One way to do this is make sure to use the email address itself (and not for instance just the user id) in the key generation, as suggested above.
I have a LAMP web application that emails users. Some users have complained that instead of seeing html email messages, they see weird sequences of characters such as =0D or =3D. I can't reproduce this bug with any of my email clients : gmail, yahoo mail, hotmail, thunderbird, blackberry or iphone. Does anyone know what's going on and how to fix this?
This is called quoted printable encoding. Some system that handles the mail while it is being delivered to the recipients that are seeing the offending characters messes up the encoding or the header information about the encoding.
Check whether the encoding you are setting when sending the mail matches what you are writing to the mail and whether that is also what is received by other people.
When you see something like =3D, what you're seeing is a single character in what's called "quoted-printable" encoding. "=3D" is, in fact, an equal sign. =0D is a Carriage Return (CR), =0A is a Line Feed (LF)
Taken from Not all 'plain-text' is created equal...
The link will provide an in-depth detailed description as to what is going on.