Im trying to send email to non logged in members and as per wix recommendation tried using this api: wixUsersBackend.emailUser
However it fails. Let me know if Im missing something.
here is the piece of code
import wixUsersBackend from ‘wix-users-backend’;//used to email to non loggedin members
$w.onReady(function () {
$w("#dbJobs").onReady(() => {
var currentItem = $w(“#dbJobs”).getCurrentItem();
$w(“#txtTitle”).text = “Enquiry Email For :” +currentItem.title;
let EmailAddress = currentItem.createdBy.emailAddress;
$w(“#txtRecruiterEmail”).text =‘Recruiter without login’+ EmailAddress;
let userId=‘dfgdfgdfgdfgddfgdg’; //im writing some random number
$w(“#text23”).text ="userid: "+ userId;
wixUsersBackend.emailUser("S6XXKbr", userId, {
variables: {
Title: currentItem.title,
jobId: currentItem.jobId
}})
.then(() => {
$w("#text23").text ='Email Sent Successfully'+ userId;
})
.catch( (err) => {
$w("#text23").text ='Failed to send Email to recruiter'+ userId;
});
})
.catch( (err) => {
$w(“#text23”).text =‘error occured’+ err;
});
}); called:
TTeam wix,
any input, how do I get corvid developer’s attention on this issue?
regards
sneha shah
I also had similar issue .Moved code to backend filr email.jsw. It worked
Hi sumruxreach,
Can you share the code and steps, so I can try the same.
here is my website, for which Im looking for the email piece of code.
www.jobsandperks.com
regards
sneha shah
I cracked it, posting it here so it can help others…
under wix corvid, devmode>Backend>defined backendEmail.jsw
// Filename: backend/backendEmail.jsw (web modules need to have a .jsw extension)
import wixUsersBackend from 'wix-users-backend';
export function sendEmail(recruiterUserid,jobTitle,jobID,applicantEmailVal,applicantLastNameVal,applicantPhoneVal,applicantFirstNameVal)
{
wixUsersBackend.emailUser("www34ss", recruiterUserid, {
variables: {
Title: jobTitle,
applicantEmail:applicantEmailVal,
applicantLastName: applicantLastNameVal,
jobId: jobID,
applicantPhone: applicantPhoneVal,
applicantFirstName: applicantFirstNameVal
}})
.then(() => {
return "Email Sent Successfully" + recruiterUserid;
})
.catch( (err) => {
return "Failed to send Email to recruiter due to error: "+ err;
});
}
On my frontend, I imported this api:
import wixData from 'wix-data';
import wixUsers from 'wix-users';
import {sendEmail} from 'backend/backendEmail';
$w.onReady(function () {
$w("#dbJobs").onReady(() => {
var currentItem = $w("#dbJobs").getCurrentItem();
$w("#txtTitle").text = "Apply For " + currentItem.title;
//added by snshah, to send email after applicants successfully applied for the job.
$w("#dbApplicants").onAfterSave( ()=>{
$w('#uploadGif').hide('FadeOut');
let jobTitleVal=currentItem.title;
let jobidVal=currentItem.jobId;
let recruiterUserid=currentItem.createdBy._id;
let recruiterEmail=currentItem.createdBy.emailAddress;
let applicantEmailaddress=$w("#iptEmailAddress").value;
let applicantFirstname=$w("#iptFirstName").value;
let applicantLastname=$w("#iptLastName").value;
let applicantPhone=$w("#iptPhone").value;
$w("#txtRecruiterEmail").text="posting email to "+recruiterEmail;
sendEmail(recruiterUserid, jobTitleVal, jobidVal,applicantEmailaddress,applicantLastname,applicantPhone,applicantFirstname).then(sendEmailStat=>{
$w("#txtRecruiterEmail").text ='Email Status is : ' + sendEmailStat;
console.log(sendEmailStat);
})
.catch(error => {
console.log(error);
$w("#txtRecruiterEmail").text ="Error: "+error;
});
});
});
});