I have been using Firebase Dynamic Links in my app for users to send email invites to other users. However, a user reported that using a Yahoo! email blocks her email invites with this error:
550 5.7.1 unauthenticated email from yahoo.com is not accepted due to domain's DMARC policy. Please contact the administrator of yahoo.com domain if this was a legitimate mail. Please visit https://support.google.com/mail/answer/2451690 to learn more about the DMARC initiative.
However when reading about the said DMARC initiative, it needs to set some DKIM keys to the domain of the sender, in which we don't have control since the user is just using Yahoo! This is the code I used to send Firebase Dynamic Links.
Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))
.setMessage(mInviteMessage.getText())
.setDeepLink(Uri.parse("http://www.crimeresponder.com/invitation?access=" + CRLUser.Roles.getCode(mAccessDropdown.getSelectedItem().toString())
+ "&stationId=" + stationId
+ "&city=" + city))
.setCallToActionText(getString(R.string.invitation_cta))
.build();
startActivityForResult(intent, REQUEST_INVITE);