Possible to send SQL Reporting Services report in email format with a duplicate pdf attachment? - email

Our system sends a "Daily Update" email via Reporting Services to all users each morning. If people are on a computer there's no issue. But, for users on the go, some mobile device email clients can't render the email. However, they can all render pdf files.
So... the quick fix was to create two subscriptions for each user; one with the message in the body and one with the message in an attached pdf. This creates an annoying amount of friction. I'd love to send a single email with the message in the body a duplicate pdf version attached.
Is there a simple solution?
FYI, we're managing this through Reporting Services Subscriptions.

By default, no: you can't have both formats in one email
The report "render format" determines whether inline or attached if you check "Include Report". So setting to "PDF" will generate an attachment. However, if you check "Include Link" for PDF rendering then folk can click and go to the report served by the Web site.
Otherwise, you'd have to write some small app that calls the ReportServer service and gets both report formats and combine into one email. Or write your own custom delivery extension

I think it is better to use Database Mail. You can manage it to send e-mail or SMS or even both of them to your subscribtion list.
I'm not sure that you can send a single email with the message in the body a duplicate pdf version attached.

If I understood it correctly, you want to send an email with attachment in pdf and this pdf will have same text/data as that in email body, right?
If that is the case then don't you think "Include Report" with "Render Format" in PDF will give you desired result?

Related

How to know that an email message was read?

I have a software that sends notifications, quotes and invoices to "clients of my clients" by email. Sometimes people don't answer it very fast, so someone needs to call by phone to confirm if they received and get the feedback. I would like to automate this, to know if them, at least, read the email. I know this is very difficult due to how email works, but some companies already try to do this in a satisfactory way, like:
mailgun.com
mailchimp.com
sendwithus.com (YCombinator funded).
In HTML mail messages we can create a resource that points to the server, like a image. But mail clients usually ask permission to the user to load the images. So, problem
here.
But for text mail messages? Is there any way to know the email was read? How companies these companies do?
PS: I don't know what tags is the best to classify my answer, I shall appreciate any edit.
There is no way to be 100% sure if a email was opened, because of its architecture. There are some techniques to do this, but it always depends of user actions and mail client configurations. But:
For HTML messages you can use images and/or the return receipts (RFC 3798).
For text based messages you can use only the return receipts (RFC 3798).
About opening tracking:
Opens are tracked by including a transparent .png file, which will
only work if there is an HTML component to the email (i.e., text only
emails will not track opens). You should note that many email service
providers disable images by default, so this data will only show up if
the recipient clicks on display images button in his/her email.
(Text extracted from mailgun.com user docs)
References:
MailGun.com documentation.
Previous discutions on this thread.
As arnt says, you're fighting the design and basic operation of e-mail. Whenever you send a mail, there is a boundary between a MTA you control (or at least have an account on) and a MTA that is responsible for your target user's mail. What you can know is whether the user's MTA accepted the mail for delivery. Whatever happens afterwards is outside of your control.
Consider an example of a snail mail. When the package enters the recipient's box, you won't know whether they put the whole unopened envelope to a trash bin, or whether they opened is and read the contents very carefully. You can approximate that goal by using crude measures (like embedding a webcam-and-a-computer which will activate upon envelope opening and send you the snapshot of the face of the opener via a cell phone), but doing so is unreliable, unethical, and probably illegal in plenty of countries.
The "return receipts" or embedded image links are similar -- because the whole e-mail is already in the hands of the user's SW, they can do anything with it. A good MUA will probably ask before sending out dumb return receipts, and it also won't load remote images in HTML mail (because it's easy to create an http://trackme.example.org/mail/for/user/12345/message/666/image.png and have a database which says "hey, this URL belongs to Mr. Pichler, and is used in the first message we sent him). The most you can do is to ask nicely, and return receipts (RFC 3798) are a machine-readable way of doing just that.

Send responsive email with media queries in Outlook

We have a newsletter that uses media queries to display it in a responsive format for smaller screens. It displays as it should in Outlook, but when the email is forwarded on, it appears that Outlook is removing the media query code. We are using Outlook to send the email since we have exchange lists that we need to include. Does anyone know if there is a way around Outlook removing the media query code when forwarding, or another way to send an email with media queries through Outlook?
Unfortunately Outlook uses it's industry famous Microsoft Word render engine to reinterpret html email. This means that when forwarding, your email is full of MS garbage and, in this case, removing some of the original wanted code.
I've had issues with some corporate exchange servers stripping media queries - I think caused by their security software. Try sending to a different domain.
Best way to see if it is stripping your media queries is to check your email code. Scroll to the bottom of your email and right click>view source just inside your Outlook viewing window.
If sending to a different domain doesn't work, I'm afraid you may be out of luck as there is no way to force Outlook to preserve your original code.
Are you sending the newsletter via an Outlook email merge?
If you want better control, use a email newsletter service like Aweber or Constant Contact.
Granted, you need your contacts to opt-in but this shouldn't be a big problem if they want your newsletter.

WinRT/Metro/Win8 Share Contracts - How to send mail with subject, text and attachtment?

Is there an build in feature that provides sharing multiply types like text and image to other applications? All i found was sharing only text or only images to the build in mail application of windows 8.
Want to send an E-Mail were the subject, text and attachment is preset.
From my experience, the current build of Mail (Release Preview) simply won't do it. If you have an attachment, it ignores the subject and text. Look like we're going to have to wait for RTM or test with another email client.
UPDATE: AFAIK, this is still the case even after RTM. The Mail client simply can't handle both a message body and an attachment.

Preventing spam through e-mail frontend

I've written a bug reporter for my game, and after it launches, the user can review the data and submit the report to my web server via HTTP. If the submission fails, the user has the option to save the report and try again later, using the bug reporter itself, uploading the file with a web form, or attaching the report to an e-mail. I know that I can prevent spam over HTTP by analyzing the source IP, but I'm not sure how to go about this when receiving reports over e-mail. Any ideas?
Thanks,
Rob
EDIT:
The attachment will always be in JSON format; any other will be rejected. I'm just worried someone will do this:
for i = 1, 10000 do
json = generate_valid_json()
send_email(json)
end
and flood my bug tracker with noise.
Other than regular spam filters, etc I do have a suggestion for this.
If, in your application, or page, you can specify a Subject= with the Mailto: link, put a unique ID in the Subject of your message that you will be expecting to receive.
That way you accomplish 2 goals - recognizing the ID in the subject, you will know it's not spam, and if that ID is associated with your bug report, you'll already know where to put it when it arrives.
EDIT: This doesn't necessarily have to be in the subject, either - could be in the body, or you could simply give them a unique ID e-mail address to send to if you can support a catchall... like bug-394291#bugs.whatever.com.
How about saving the report when the first attempt to upload fails. When the user starts the game, start a background thread which tries to deliver the report again. Eventually, it should work and the user will have to do anything.
Sounds like you're trying to tell the difference between e-mail from random people you've never talked to before, that are sending you attachments, from spam e-mail.
Good luck!
Can you change the e-mail address every so often?
Require a certain subject line?
Require plain-text e-mail?

How can I check if an e-mail has been read using POP3/SMTP?

How can I check if an e-mail has been read using POP3/SMTP?
I am able to read e-mails, but I can not figure out if the e-mail has been read or not. Any suggestions are appreciated.
There is no completely reliable way to do this, while some servers support Read receipts it is dependent on the client to respond to the receipt request.
Another way people do this is by embedding a tracking image into an HTML email that will get pulled from a server and that hit constitutes the read however this is often not accurate as most email reader block html external content by default.
Sign up for a free account on statcounter.com. Goto the install code options, choose invisible tracking button and HTML only counter. Statcounter will now provide you an HTML Image snippet that you have to insert inside the body of your HTML email message.
The image isn't visible in the email but the person will have to click "Display Images" when they open their email client.
This is about the only way you can do it if your server or client does not support read receipts.
With POP3, emails are almost always deleted from the server after they are read. When a client connects to a POP3 server, the server usually transfers emails to the client and then deletes the email from its own storage. So, if you can read an email, chances are that it hasn't been read.
As far as I know this is a client side only detail when it comes to POP3. If you wanted to have the status reflected on multiple clients you'd need to used IMAP. With web mail readers they keep track of the unique message ID and whether or not it has been read on the client, but if you were to load it on a desktop pop3 client, it would not be flagged as read.
store the latest read email's message-id somewhere and check when you run to pop
There is no guarantee an e-mail has been read or not, especially 2 cases we won't receive a Read Receipt,
When user opens an email for the message a pop-up confirmation window opens, if user selects No then end user wont receive a read receipt.
From email settings, If user selects Never send a read receipt then also end user wont receive a read receipt.
If user enabled Read Receipt then, the request for the receipt is sent as a header attached to the mail using the method
MimeMessage.setHeader("Disposition-Notification-To", "email-id#domain.com");