I have a Google Group setup called tes#domain.com on my G-mail Account.
In that group, I have 8 members email addresses.
If I send mail to that group from "send-grid", the mail is not been received.
$url = 'https://api.sendgrid.com/';
On Send-grid when I check status of this group-email(tes#domain.com) its show its been "Delivered" and "Opened" as well.
And I also get this SendGrid {"message":"success"} json response
Your group email alias is probably not enabled to receive emails from external sources. You need to update your settings to allow posts from 'anyone'
Related
I'm trying to send an email in a 2.0 suitescript (scheduled). My code is very simple:
email.send
({
author: 123,
recipients: 123,
subject: 'Errors',
body: 'Please see attachment'
})
That's it. The email shows up in the Sent Email list, which seems to show everything fine:
Sent Date 04/27/2021 17:21
Log Date 04/27/2021 17:21
From "<my name> (<my email address>)" <system#sent-via.netsuite.com>
Subject [SANDBOX] Errors
To Recipients <my name> (<my email address>)
CC Recipients
BCC Recipients
Message-ID <fknhf2pr4jqaxt5dmqc56ab2353384v9zj0qr1i6ke5fz9n3o7u6w0o8alojgm0w#netsuite.com>
Status Not Sent
Unchecked Compliance Verified
Body Please see attachment
I note, however, that in the sent email the RECIPIENT list is empty - my email does not appear; no emails do.
The email doesn't arrive. So no apparent errors - it just doesn't arrive, and NetSuite says it was not sent, although it doesn't seem to say why.
Check Sandbox "email delivery preferences". As an Administrator go to Setup > Company > Email > Email Preferences > Sandbox and Release Preview subtab (Sandbox Options heading). There are options there to dictate who Sandbox emails are sent to. You can reference Suite Answer Id 20152 for more information. If there's still as issue confirm the specified employee internal id actually has an email address stored in the record.
I've set up some google apps mailing groups, but emails from nodemailer to the groups are always getting 'bounced' (but no bounce-back email).
Individual gmail addresses receive the same nodemail fine. The admin email log looks like this for successful email to individual gmail user address. The email headers from the successful email show no issues (eg no spf failures).
The groups do receive emails from external users (including from the same address nodemailer uses) when sent through the gmail web client, so it it isn't a group permission issue. Successful emails to the group yields an admin log like this.
The group is set to forward all spam to users.
Nodemailer is using a gmail account, and the GApps are using a Google domain hosted address, so it shouldn't be an issue with routing or conflicting servers
What am I missing here?
This was resolved by reconfiguring the 'from' field in the nodemailer message.
// Nodemailer ignores the bad `from` value (not a valid email)
// Nodemailer sends with from ==''
// This gets bounced by google group addresses
var msg = {
from: "System",
to: "usergroupaddress#gmail.com,
subject: "Your generated email",
text: "Hello user",
html: "<p>Hello user</p>"
};
I had thought 'from' would define the name displayed on the email. It didn't do that, but it didn't cause any problems either for most email recipients. But google groups was bouncing those emails.
Nodemailer was just leaving 'from' as blank (rather than using my dummy string). Apparently this field must be a valid email address. Set it to an email address, and nodemailer will include it in the message envelope, which google groups will then stop bouncing.
// Nodemailer accepts and forwards the valid `from`
// google groups address will accept the email
var msg = {
from: "system#myserver.com",
to: "usergroupaddress#gmail.com,
subject: "Your generated email",
text: "Hello user",
html: "<p>Hello user</p>"
};
The google apps email also hints at this: emails with an empty 'from' envelope have a blank 'sender' in the google apps email log search. But as soon as I corrected nodemailer, the 'sender' started populating in email log search, and google stopped bouncing the emails. See the email log here.
I am using the guest user invitation api as defined here to add a guest user to my Active Directory.
The post request succeeds with a 201 response code and returns the following data:
{
"#odata.context":"https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
"id":"xxx",
"inviteRedeemUrl":"https://invitations.microsoft.com/redeem/?tenant=xxx&ticket=xxx&ver=2.0",
"invitedUserDisplayName":"xxx",
"invitedUserType":"Guest",
"invitedUserEmailAddress":"xxx#gmail.com",
"sendInvitationMessage":false,
"inviteRedirectUrl":"http://localhost:4200/",
"status":"PendingAcceptance",
"invitedUserMessageInfo":{
"messageLanguage":null,
"customizedMessageBody":null,
"ccRecipients":[
{
"emailAddress":{
"name":null,
"address":null
}
}
]
},
"invitedUser":{
"id":"xxx"
}
}
When I check the active directory using the Azure UI, I see that the user is created in the directory. But I never receive an invitation email, unless I click the resend invite button in the UI for the user.
How can I make sure that an invite email is sent when I send my request to the invite api, without having to manually click the resend invite button for the user?
Silly mistake on my part. You need to add the sendInvitationMessage: true property in your request json payload in order to send the email. The documentation for allowed properties in your request object is here https://learn.microsoft.com/en-us/graph/api/resources/invitation?view=graph-rest-1.0
My company is trying to avoid having many Docusign logins for the group (group X) using Docusign. We were wondering about using one login to do the create, but override the email settings to have it go to members of group X without them having to have Docusign credentials. I was wondering if that would be possible with the replyEmailAddressOverride.
You can do so by using the "Send On Behalf Of" feature where you specify an email address in the authentication header in order to "assign" each transaction to a specific person with the same and unique credentials.
{
"Username": "",//Email of Group X credentials
"Password": "", // Password of Group X credentials
"IntegratorKey": "",// Integrator Key of Group X credentials
"SendOnBehalfOf": "" // Email of the specific person to be assigned the DocuSign transaction
}
If I understand your question correctly, I am not sure that using the replyEmailAddressOverride feature will accommodate what you need.
From the official documentation, this email will be used when the user decided to "reply" to the email sent from DocuSign.
Example in C# below :
EmailSettings settings = new EmailSettings
{
ReplyEmailAddressOverride = "otherUserThanTheSende#fakeemail.com",
ReplyEmailNameOverride = "Other User"
};
envelope.EmailSettings = settings;
If you configure the above email settings, when the signer receives the DocuSign email inviting him to initiate the signing ceremony, if he/she decides to reply to this email, the original DocuSign sender email will not be used but instead the email you have configured will be used.
Example, my "Frederic "account was used to create a transaction so the sender appears as "Frederic" in the DocuSign email. However, when I decide to reply, it doesn't go back to "Frederic" but instead to the user I have configured in the envelope :
But if I understand correctly, you want to send a transaction from a specific sender and this email override setting doesn't affect the transaction sender but the transaction reply.
If you want to use replyEmailAddressOverride and replyEmailNameOverride as present in DS Docs then when an email goes to the signer from DocuSign and if they want to revert to that email then it will go the email which is mentioned in replyEmailAddressOverride property
I would like to preserve the Email Subject & email Message that are defined on the Docusign Template and send those vs sending generic email subject & message when sending a document via Custom Button in Salesforce? Below is my button code
{!REQUIRESCRIPT("/apex/dsfs__DocuSign_JavaScript")}
var DST='<Docusign Template Id>';
var LA='0';
var OSO = 'Send';
var CRL = 'Email~{!Fulfillment__c.Primary_Contact_Email__c};Role~Client;FirstName~ {!Fulfillment__c.Primary_Contact_First_Name__c};LastName~{!Fulfillment__c.Primary_Contact_Last_Name__c}';
var CCRM='Client~Client';
window.location.href = '/apex/dsfs__DocuSign_CreateEnvelope?DSEID=0&SourceID='+eSignatureNotSent.Id+'&DST='+DST+'&LA='+LA+'&CRL='+CRL+'&OCO='+OCO+'&CCRM='+CCRM;
I think Docusign is using Default Email Subject and Default Email Message defined in the Admin settings in Salesforce. I do not want to send it as all the work is done when building templates in Docusign.
If you leave the Default Email Message blank in the Admin settings, it will grab the contents of the Template Email Message.
The API has a hard requirement to define an email subject through the request. Currently because Salesforce uses the API, it has to follow this guideline.
My best advice is making a custom button that defines the Email subject that you'd like for each workflow that you may have.