I'm implementing email tracking feature.
The issue is as soon as I append the image to the body (Just adding the image but not sending), the server hit with the request in the image's src.
Ideally, the server hit should be made only when the email is sent and opened and not when the image is appended to the body.
Please suggest a solution.
Thanks in advance!
Related
I spotted that one (just one, rest is ok) shared link on wall of group I am in isn't look properly. It's just grey rectangle, you can see it on included image. I wonder why it's displayed this way because I copied url and pasted it to facebook open graph object debugger. There are no warnings and preview generated by tool is ok (so image pass dimension requirements). I also tried to put that url on my profile and I can see image. Sorry that I don't paste urls here but I don't think I'm allowed to do this. I hope someone still want to answer my qestion. What is reason of this behaviour?
Grey rectangle on shared link
There can be several reasons for this situation.
I assume you use some service provider to generate image.
Facebook crawler visits your site and make POST request which uses no cache content, which also makes your site fresh render for facebook request but also may cause timeout error in some cases. If image thumbnail is generated with some service provider it can be the cause.
Thumbnail service providers often causes mistakes by themselves. Take under consideration that what you see on facebook wall is the very first render of the image in the thumbnail provider. Check twice parameters that you send to the service and maybe there is some problem with alpha channel (if it's PNG image).
That's for my guesses. Hope it will help you.
I'm planning on building an online image editor. I want to use aviary library for it. https://developers.aviary.com
Can someone explain me how I implement it? More specifically, do I need to send an image to their server in order to modify it? or I just do all the modifications on client side and then save that image to the server?
The editor works by loading the image client-side via a public url, allowing the user to edit the photo in the browser. When the user saves, the image is POSTed to Aviary's server, where it's uploaded to a temporary storage location. You then get a url to that temporary image passed to you in the onSave callback, which you can use to save the image back to your own server.
See a full client-side integration here: https://developers.aviary.com/docs/web/example
When creating a message and using it to create a draft or email using the Gmail API, can you have an image embedded in the body? I'm looking to have the image data actually embedded similar to how copying and pasting an image (the actual data, not the link) into a Gmail email will place the image right in the content.
Can it be done like this or do I need to upload the image to some other location and use HTML to embed the image in the email? Any pointers on how to do it?
The short answer is that you would do this the same way you would for any email service.
The long answer is that you need to create a multipart/related message, where one part is the HTML content of the email and the other part is the image. The image part contains a Content-ID header that specifies an ID for the image, and the HTML image tag references that ID in the src attribute using the format cid:ID_HERE.
An example of how to construct such an email in Python is here: https://stackoverflow.com/a/1633493
P.S. - A great way to see how emails are constructed is to look at the raw message. You can look at the raw message for a given email in Gmail by clicking the drop down arrow next to the message and selecting "Show original".
Did you work with email tracking tools like "GetNotify.com"?
I want to know how it works, with details.
In my opinion we have to create a php code that contains img tag, but I don't know how can I attach this on email content.
Thanks.
According to this FAQ entry, they insert an invisible image into the e-mail.
The idea behind this technique is that, upon e-mail opening, that image is downloaded from their server, providing them the IP address and the timestamp. Although, relying on the image being fetched, this service fails as soon as the image is not fetched (which you can configure many e-mail clients to do). EDIT: There is also a FAQ entry on that topic.
Inserting such an image into an e-mail is fairly simple: You need to get the e-mail html content and insert a new node. This is the second drawback: It fails when you use text messages. Instead, you would have to create a new HTML message.
I'm using the MFMailComposeViewController in iOS to create a new dynamic email but have run into an issue when trying to use inline images.
I first tried adding the image as a base64 encoded string, i.e.
<img src="data:image/png;base64, blahblahblah" />
But I can only view that on the iPad while Outlook/Entourage ignore it even though I can see it in the source!
So now I'm trying to add the image as an attachment and link to it via it's content ID, i.e.
<img src="cid:BF6E8B41-4D74-419E-B55E-8F18A07381AE" id="BF6E8B41-4D74-419E-B55E-8F18A07381AE" width="509" height="220">
But have no clue how to get the cid through code!
When I attach an image using AddAttachmentData, the image goes to the bottom and actually generates an <img /> tag with the cid!
Additionally, this ID seems to change with every new email. The one above was my first try, then I sent another one and the Content-ID changed to
<img src="cid:59EBFDED-2A31-4787-BF67-9D9ED0FF2B39" id="59EBFDED-2A31-4787-BF67-9D9ED0FF2B39" width="509" height="220">
The reason I have to do this is because this is a dynamically generated image and it needs to sit inside an email template.
EDIT
I'm beginning to think that this isn't possible. I've been researching for hours now and it looks like iOS won't let you attach an image and link to it via its CID. Thanks Apple -_-
I've hit the same limitation of MFMailComposeViewController. It exposes no way to get content id (cid) of an email attachment, so there is no way to compose an html email message that references the attachment via img src='cid:...'. Since most email clients ignore data urls (inline base 64 encoded images), the best option for composing an html email message with images from an iOS app is to host the images on the web and reference them as img src='http://...'. Most email clients will ask the user for permission to download the images, so this is not ideal, but it's apparently the only option in iOS using public APIs.