Email Plugin

The email plugin has just been released on the marketplace. The plugin will be useful in any project in which you may need to report feedback, bugs or simply need to follow up with a client.
Icon.png

Marketplace
Email Plugin

Promo Video
[video]https://drive.google.com/file/d/1jTpG1m414Q9Yy78hzFBjukZLLOy-rEGD/view[/video]

Features:

  • Send and customize emails
  • Embed image attachments or image URLs within emails
  • 10 Blueprint nodes
  • Custom text fields to hide passwords in-editor
  • A custom asset to manage accounts
  • Supports GMAIL, OUTLOOK and YAHOO

Example Project:

Supported Target Build Platforms: Windows, Android

**Documentation: **inside the “EmailPluginContent/Tutorials” there are several Blueprint tutorials, text-based and links to videos. Inside “EmailPluginContent/UMG” find UMG example of how to use the plugin.

Important/Additional Notes:

  • TO SEND EMAILS USING THE PLUGIN YOU MUST ENABLE ALLOW THIRD-PARTY APPS IN YOU EMAIL. TUTORIAL VIDEOS INCLUDED. IF YOU ARE TESTING THE APP FROM THE LINK ABOVE USE THE BUILT-IN EMAILS OPTIONS.
  • THE PLUGIN BUILDS BY DEFAULT FOR ANDROID ARM64, A SINGLE LINE OF CODE CHANGE IS REQUIRED TO COMPILE FOR ARM7 (TUTORIAL INCLUDED). PLUGIN CANNOT BUILD FOR BOTH ARM64 AND ARM7.

Hi everyone,

I noticed that few people went ahead and purchased the plugin and I’m really happy to see that it’s being used by someone. Remember to drop me a message either here or on the discord server if you need any help with anything.

Also, I would appreciate if you could leave reviews once you have used the plugin for some time :slight_smile:

Have a great day :cool:

Hi everyone,

Thanks to a couple of guys on the Discord channel I was able to spot an issue with the way the email providers were set-up for the demo I created to showcase the plugin.

The issue
To keep it brief I was using directly the password of the email address to allow a user to send emails from one email to another. This becomes a problem when you try to do so from a region or country that is far away from the country you chose when you created the email. So for instance, if I created an email with Gmail and said I live in the UK and somebody tried to use an app that tries to send an email with the plugin from Brazil then Gmail would find this suspicious.

The solution
All that is really needed to solve the issue is just creating an app password that can be used by the external application that makes use of the email functionalities remotely. This is fairly easy to do with Gmail, Outlook and Yahoo.

New Update
I just finished updating the documentation on how to set up app passwords for the three email providers both inside the plugin built-in tutorials and the pdf documentation. As per other features/documentation, I created dedicated videos to make this easier. You can still get the plugin right now as the update I pushed on the marketplace doesn’t really change anything in the plugin apart from the documentation that is also available as a pdf and you can get it from here.

As usual, if you have any questions, doubts or want a feature to be implemented (where possible) just let me know either here or on the discord channel.

Have a great day.

Hi everyone,

Thanks to a couple of guys on discord I was able to identify two major issues with the plugin that I have managed to solve. I have just pushed an update that will hopefully go live as soon as possible.

ISSUE 1
I had made built-in blueprint tutorials that would reflect exactly what the PDF documentation goes over. Unfortunately, the blueprint tutorials have a very annoying bug when packaged as plugin content. When you run a blueprint tutorial that is inside a plugin content folder the engine will automatically add a line inside an ini file that will make packaging any other project (with the same engine version) impossible, unless you delete that line from the file or you enable the plugin inside the project you are trying to package. This is to say the list undesirable.

If you are facing this issue go to C:/Users/YOURUSERNAME/AppData/Local/UnrealEngine/ENGINEVERSION/Saved/Config/Windows/EditorSettings.ini. Inside the file locate the section [/Script/IntroTutorials.TutorialStateSettings] and under that section get rid of any line that mentions the EmailPlugin tutorials.

SOLUTION 1
To solve issue 1 I have deleted the tutorials and replaced them with a button in the toolbar that will bring up a window. Inside the window, you’ll find a number of buttons that link directly to the PDF document and the video tutorials.

ISSUE 2
The second issue regards the EmailDetailsAsset and the password field. More than one user has reported that when typing in the password field they would face validation issues probably meaning that the password wasn’t typed properly.

SOLUTION 2
I have looked into this and found out that the password field would not allow pasting in the password (I had manually programmed the field) and would generally add extra characters in some cases. I have now replaced the password textbox (hand-made :rolleyes:) with an unreal engine built-in password field (didn’t even know there was one) and after some testing, I can comfortably say that it works 100% of the times.

As usual, if anybody has any questions or is facing any issue with the plugin just write here or on the discord channel.

Have a great day :cool:

I downloaded the windows example and it gets this error. I need use this plugin

errordemo.jpg

Hi Capatto,

So far nobody has experienced this issue so thanks for reporting it :slight_smile:

I just made a development build for you. Could you try to run it and if you experience the same issue share the log file. You can find the file inside WindowsNoEditor/EmailPluginDev/Saved/Logs/EmailPluginDev.log.

DevBuildLink

Thanks again for reporting this.

Hey everyone,

Thanks from somebody on discord I just found out that when deploying on android (whether through the launch option or by packaging) the android app will show a message saying that the plugin wasn’t found. While I’m investigating why this happens you can still package your project by placing the plugin into the project Plugins folder.

So you would copy the folder EmailPlugin from [UNREALVERION/Engine/Plugins/Marketplace/EmailPlugin] into [YOURPROJECT/Plugins/EmailPlugin]. Obviously, if the Plugins folder doesn’t exist in your project folder create it.

As soon as I have some news on why this happens and I have a new version to upload to fix this issue I will post again.

Have a great day :D:D

Hey everyone,

So I did some digging on the issue I reported yesterday and actually found out that this is a very old issue. I have asked on this post if this is still the case:

https://forums.unrealengine.com/development-discussion/engine-source-github/11862-plugins-are-only-working-for-people-in-a-package-game-if-they-have-c-project

If this was already solved and there is something else that has to be done to make the plugin package correctly for mobile when installing it from the launcher then I will implement the changes, otherwise, this is, unfortunately, something to live with. Just to make it clear the issue is as follows:

If you are making a mobile game/application and want to use the EmailPlugin you will have to place the plugin inside the project folder. The plugin will have to be placed exactly under [PROJECTNAME/Plugins/]. This affects ONLY ANDROID, building for WINDOWS INS’T AFFECTED.

How do I separate the paragraphs? I send a report with several lines but the email text arrives with the words all together. Even in your test widget, when I split the lines with “Alt + enter”, the email always arrives with all the words together.

Hi,

So I looked into this and that’s definitely the case I couldn’t get the text to be formatted as it seems the string that gets passed as the message on the send email node ends up reading the new lines as just spaces. Funny enough there doesn’t seem to be any way to parse a text variable into lines in blueprints (at least I didn’t find any).

I’m looking into adding native support for this since I can see how useful it is and how annoying it is to code a solution for it. In the meantime, if you want to get this to work you can do the following:

Inside the UMG with the multiline textbox go to the functions section of the MyBlueprint tab and override the function called OnPreviewKeyDown
Add two variables string called LastText and MultiLineTextToSend
Add two new custom event called EnterPressedOnMessage and BackspacePressedOnMessage inside the UMG event graph
Go to your OnPreviewKeyDown function and make look like this:

Then go to the event graph and make EnterPressedOnMessage and BackspacePressedOnMessage look like this

Finally, use the MultiLineTextToSend string for the message.

This is definitely a workaround while I implement a more integrated solution within the plugin. All the above does is replacing new lines spaces with </br> as the email gets interpreted as HTML.
Let me know if you need any help

Have a great day :D:D:D

I intend to always reuse the same message, changing only the values ​​of the fields. Using <br> between strings solved the problem. Even so, this out of te box feature would be cool. Many thanks for you help.

Hey, no problem at all and I agree this should be actually an out of the box solution if I were using the plugin I would assume it should format the email correctly.

Hello “DownToCode”. Its me again. How to send to multiple receivers? Is it possible? Thanks in advance.

Hey **rubaumvibe **multiple receivers are not supported right now and I’m not sure I would want to support it even in the future. What I worry about with such addition is that the plugin may be misused for spamming.

If you need to send the email to multiple email addresses that you could have possibly cached because of the absence of an internet connection (it happened in a VR experience I worked on) you could simply use DoN to loop through the array of emails and send one email at the time.

One thing I will say is that I will add support for CC other email addresses very soon.
Just for curiosity what is the use case for sending an email to multiple receivers?

VERSION 1.1 ON ITS WAY

Based on a few questions and requests I started to work on officially version 1.1 of the Email Plugin. The new version is almost ready and will feature the following changes:

No Need to edit the build.cs file for android building on the different target platform

Until now if you were building on android you had to manually go inside the plugin folder and actually modify the build.cs file so to link the right library based on the target platform (arm7 or arm64). Now the line/lines of code necessary for linking the right library based on the target are programmatically generated whenever you click on the arm-7 and/or arm-64 tick boxes from the project settings.

You will also get a warning whenever you switch on both arm-64 and arm-7 at the same time since the plugin doesn’t support building both at the same time.

ezgif.comvideotogif.gif

Emails now support switching on and off the HTML support

Now you have an extra bool on the make email details nodes to switch on and off the email support for HTML content. Notice that if you switch on HTML you will be responsible for formatting the email’s text, including splitting the text into lines using <br>.

Support for custom SMPT server added

You can now use your own custom SMTP server or any other SMTP server that is not included in the list of default SMTP servers

Capture.PNG

New Node to convert text into lines using LINE_TERMINATORs into the string

A new node was added along with support for properly formatting emails. Whenever you switch on HTML and the email supports HTML content you will need to probably split the text into lines and construct your own HTML page.

Capture.PNG

Emails are properly formatted, lines are respected

Thanks to **rubaumvibe **I have noticed that when sending a string using the Send Email node the email would not be properly formatted. Lines were not respected and the text would simply be all on the same line. This has been fixed now. Notice though that if you use the HTML option you will have to properly construct the HTML page including adding <br> tags to break the text into lines.

Blueprint Nodes are commented

Blueprint nodes and their parameters are all properly commented. Hover the node to display extra info about it.

Added reference section to the help page
The help page now features a reference section with buttons to the discord channel, this thread and an update 1.1 version videos.

If anybody has any questions I’m always happy to help either here or on the discord channel: Discord
If you enjoy the plugin and find it useful don’t forget to leave a noisy review :slight_smile:

I am developing a simulator for training purposes. At the end of the activity, I’m using your plug-in to send the scores to the instructor’s email and the student’s email. I work with other distance training software and this feature is widely used by people.

Hi rubaumvibe, I will consider the addition of sending emails to multiple people but I can’t promise anything. Though as I said I found myself working on a project where I had similar requirements and have easily put together a way of looping through a list of emails using a DoN coupled with the Send Email node to send email to multiple people. Let me know if you’d need help with that.

VERSION 1.1 IS LIVE

The new version is out and ready to be downloaded.

If anybody has any issues or sees something funny happening just let me know please report it either here or on discord.

Have a good day boys and girls :cool::cool::cool:

**4.24 VERSION SUBMITTED **

For those interested, I just managed to solve an issue I had with 4.24 and the Email Plugin and have submitted the 4.24 plugin version.

As soon as the latest engine release version is live I will let you know.

Have a great day :cool::cool::cool:

4.24 OFFICIALLY AVAILABLE

Go and grab the latest boys and girls as 4.24 is now live.

One thing I just found out is that code plugins can only support the latest 3 versions so I can’t update version 4.21 and you are required to update to the latest version. This means that 4.21 is still available but doesn’t have all the latest changes.