MATLAB Answers

sendmail works when I run my app but not when another user uses it in a packaged app

5 views (last 30 days)
Hello,
I made an app in app designer and part of the app asks the user to input their e-mail address and then the app sends them a "report" of sorts at the end of using the app when they push a "submit" button. The code I write is below.
The issue here is that when I push the submit button, it works and sends me the e-mail. When I sent it out to a friend to test drive, it gave them a "ding" and didn't send the e-mail. Is there anything not packaged up with the app when you create a standalone desktop app that might prevent that functionality?
data={1:10}
out_email=input('email','type the recipient email');
filename=['testing.xlsx'];
filepath=[cd '\' filename];
writecell(data,filepath);
user = getenv('username');
mail = 'myemail@gmail.com'; %my ghost GMail email address
password = 'mypassword'; % ghost GMail password
setpref('Internet','SMTP_Server','smtp.gmail.com');
setpref('Internet','E_mail',mail);
setpref('Internet','SMTP_Username',mail);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port','465');
sendmail(out_email{:},'Results',{'testing'},filepath)
delete(filepath) %I don't want the user to necesarrily have a copy of the file stored for them - only sent to the provided email
Looking forward to suggestions/thoughts.
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Sep 2020
They probably need to enable gmail "Less Secure Apps" in order for MATLAB to send to gmail .

  16 Comments

Shae Morgan
Shae Morgan on 14 Sep 2020
Everyone - thanks for the contributions.
Matlab compiler does include a version of JVM that will allow the sendmail function to work. The error received by the beta tester was unrelated to this issue and had to do with permissions on the machine - not a limitation we went into here.
All in all this is solved now and working just fine.
Adam Danz
Adam Danz on 14 Sep 2020
Nearly all of the sendemail errors I've seen are either from incorrect syntax/inputs or with software on local machines that are blocking it (which is usually a good thing). Thanks for letting us know what the probem was, Shae.
Shae Morgan
Shae Morgan on 16 Oct 2020
@Adam Danz @Walter Roberson
Sending the e-mail works now on windows machines, but not on MAC. I've compiled the app for mac, but when users install the program, it gets hung up on the line of code where you set preferences:
setpref('Internet','SMTP_Server','smtp.gmail.com');
Any idea if the name of preference information is different on a OS X compared to PC?

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!