问题
I need to send info to the google endpoint, which then sets up object with Sendgrid and then sends the email. The emails are not working, nothing is sent through from the app engine.
Part of my endpoint code:
@ApiMethod(name = "sendEmail")
public sendEmailObject sendEmail(@Named("sendTo") String sendTo, @Named("sentFromClient") String sentFromClient, @Named("sendDescription") String sendDescription) {
SendGrid sendgrid = new SendGrid(..., ...);
SendGrid.Email email = new SendGrid.Email();
email.addTo(..);
email.addToName(..);
email.setReplyTo(..);
email.setSubject(..);
email.setText(..);
email.setFrom(...);
sendEmailObject emailoObject = new sendEmailObject();
try {
SendGrid.Response response = sendgrid.send(email);
emailoObject.setSendMailSucccess(response.getMessage().toString());
} catch (SendGridException e) {
e.printStackTrace();
emailoObject.setSendMailSucccess(e.toString());
}
Is there something I need to set on the app engine? Like opening a port or some other settings? Sendgrid seems to use port 5252, but have no idea where to allow that port, or if its automatically done? I also used a different email when registering for Sendgrid, than App engine, could this cause a problem?
回答1:
The problem was that when creating an Sendgrid object I used username and password. When I changed that to the key generated on sendgrid it worked!!!
SendGrid sendgrid = new SendGrid("key");
来源:https://stackoverflow.com/questions/31726873/sendgrid-not-working-in-google-app-engine-endpoints