I have SSRS 2019 in native-mode with SQL Server 2019 standard behind it. To be very clear, email functionality works and outgoing emails from SSRS is being sent and received. The issue is when the option to attached the report (Include Report) is selected in the subscription options, the following error is received at time of execution:
Failure sending mail: The permissions granted to user '' are insufficient for performing this operation.Mail will not be resent.
I've tried different render format (MHTML, PDF, CSV, XML) to no avail. "Include Link" option works without issue. So unless there is a secret permission somewhere for attachments, I'm a bit confused.
SQL Server Database Mail works and shares the same email configuration values as SSRS.
If anyone has faced this issue, I would love to know what caused it and how you solved it in case my situation is the same.
Nevermind everyone. After I posted my question, I realized the service account was still at the default "Virtual Service Account". After I got an actual domain service account and updated it, plus restarted the service, emails with attachments started flowing through without issue.
Note: I had to delete my 1 existing test subscriptions since it no longer was being recognized with the new service account. After creating a new subscription, there were no more issues with attachment-emails. This in itself could be another problem altogether. More testing is required.
Related
I am trying to send email using PutEmail processor in Nifi. Below is the configuration of the processor.
However, emails are not sent and getting this error. It would be great help if addressed.
#techno_mad - I would trust the error message. Test with a known working smtp combo with 100% confirmed smtp access. I also suggest, paste the nifi error as text, not an image. Your peers need to visit the link and are likely not typing it out.
https://support.google.com/mail/thread/5621336?hl=en
Test enabling “Access for less secure apps” (which just means the
client/app doesn’t use OAuth 2.0 - https://oauth.net/2/) for the
account you are trying to access. It's found in the account settings
on the Security tab, Account permissions (not available to accounts
with 2-step verification enabled):
https://support.google.com/accounts/answer/6010255?hl=en
Is there any way that we can determine if the recipient has seen the report that was delivered through a subscription by email option?
No, the "Read Receipts" is configured on the E-mail server. It is not a supported configuration of the email notification on Reporting Services. Microsoft Reference
Here is the reference for E-Mail Delivery in Reporting Services. It describes report server e-mail delivery operation and configuration.
This is not directly supported, but you could build a workaround for it. For example, you could have a link provided the email that you request them to click on. The link would contain an ID and go to a site/report that logs the ID.
You could even go a step further and just send a link. They would have to click it to see the report and that could be logged.
Trying to dev a community connector for Datastudio, I'd like to retrieve, from my getData function, the user currently using the report (not the creator of the report).
When I log the Session.getEffectiveUser().getEmail() or Session.getActiveUser().getEmail(), it is not the name of the user. I tried setting auth mode to NONE or OAUTH2: same result.
Any idea if that's possible?
If the data source is using Owner's credentials, Session.getEffectiveUser().getEmail() will give you the data source owner's (i.e. creator) email address. If someone else views the report, you cannot get their identity in the connector.
If the data source is using Viewer's credentials, Session.getEffectiveUser().getEmail() will give you the viewer's identity. However, with Viewer's credentials, the viewer will have to authorize the connector first. Otherwise viewers will see error when they view the dashboard.
This is not a real answer but a way to help on solving this question. When you check scope authorization in the user account for the data source, we can see the userinfo.email scope validated, good point.
If you are in testing mode (step 13 in this code lab for example https://codelabs.developers.google.com/codelabs/community-connectors) if you add the Session.getEffectiveUser().getEmail() in a console.log for the getData() function you will get user email.
=> For that as you are in testing mode you have to share the script code in read only for anyone with the link.
If the script is not shared you will not get email and generate an error when you try to access community connector.
The question now is to know if once the connector is published if you still need to keep you file shared publicly with anyone with the link.
My guess is not.
My client uses Exchange Active Sync (EAS) to communicate with the exchange server. When I reply to an email (SendMail), I do not get the correct LastVerbExecuted parameter from the server. My question is, is client supposed to set this field and send it as a part of the Change command or server should do that for me?
Just to add, when OWA is used to reply to some email, it seems to have set the LastVerbExecuted just fine on the server. However, when I sent an email from my client it does not seem to be working and the server does not send the LastVerbExecuted as 'ReplyToSender'.
Can anyone help me discover the issue?
Edit: I suppose the problem is with my client not sending any element in SendMail command request which will help the server to identify which email is being responded to. So now my actual question is, which element can be used in SendMail command to send the identity of the actual email (which is replied to)?
So I was able to get it confirmed from microsoft that lastverbexecuted is only available with SmartReply and SmartForward commands:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/d0fab280-0036-40f4-830a-00c748573f7f/lastverbexecuted-when-using-smartreply-with-exchange-2010-is-wrong?forum=os_exchangeprotocols
Quote from the article:
"We have concluded our investigation in to this issue and it has been determined that the LastVerbExecuted element will ONLY be updated with the use of the SmartReply and SmartForward commands. There is not currently a way to use the SendMail command and have it update the LastVerbExecuted."
I am attempting to set up a subscription on my report server that will send out an email to a outlook email group. However when I specify the group in the To: field on the report server I get the following email in response when the subscription is actually ran.
Your message did not reach some or all of the intended recipients.
Subject: Report was executed at 4/20/2011 9:39:02 AM
Sent: 4/20/2011 9:39 AM
The following recipient(s) cannot be reached
Outlook Email Group on 4/20/2011 9:39 AM
You do not have permission to send to this recipient. For assistance, contact your system administrator.
However, when I change the TO: to include members of that group they receive the emails fine. My question is, is it possible to specify out email group names in the TO: field of a report server subscription or do you have to put all of the individual email addresses of the members of that group in there for it to work? One of the responses that I got so far was: Consider that the Report Processor "logs on" with specific credentials. This is the Service Account. Try to open a Windows Session using these credentials and send the mail. I expect it will fail. Make sure this account has group-send rights. Is this correct and if so should I be consulting with our exchange server admin to get group send rights added and to which user account?
The most likely reason is that your group may be configured to only accept mail from authenticated users, but there are also other possibilities, for example it is also possible that the group has been configured to only accept mail from a certain set of users.
It is definitely possible to put Exchange Group names into the SSRS recipient list.
I'm agree with your comment: this looks like an Exchange problem. Check with the mail admins to see what restrictions on mail to groups exist.
SSRS uses SMTP to send email. You can follow the instructions on Technet for How to Use Telnet to Test SMTP... Substitute in the server name and from address that SSRS is set to use. You will likely see the test message refused with an error that will hopefully give you more details on the error. At the very least, it will give you something to take to the Exchange team. ( I don't believe that sending email from SSRS supports authentication, but I'm not sure on that.)