避免Wix成员确认电子邮件或更改发送地址
我正在与一位经营BtoB的客户合作。我们已经建立了会员帐户和一些会员角色,以确保他们在获得批准后可以访问的合理信息。然而,我们遇到了一个让我发疯的问题:按照Wix的默认注册流程规则,一旦有人注册,我们批准了会员访问权限,就会向他们的帐户发送一封带有令牌的电子邮件,以确认他们的电子邮件 尽管我们的域中有一封与Wix集成的电子邮件,但确认电子邮件和密码重置(在用户单击“忘记我的密码”后发送)都不是从该地址发送的,而是从某个愚蠢的@site-members.com地址发送的 我客户的客户都使用商务电子邮件,他们的大多数服务器都完全屏蔽了这些电子邮件。因此,他们无法完成注册过程,也无法登录 在尝试与Wix的支持人员交谈(这完全是浪费时间)之后,我开始在互联网上搜索,并找到了一个将触发式电子邮件作为确认电子邮件发送的教程。我试过了,它似乎很有效,但是,即使触发的电子邮件设置为从我的帐户发送,它也会通过以下方式添加: 啊。。猜猜看!在做了一些测试之后,在许多服务器中,它们也会被阻塞 所以,我不知道还能做什么!有没有人能帮我避免发送确认邮件,或者看看是否有其他方法可以设置使用Corvid或Wix仪表板发送确认邮件的电子邮件地址 如果您想查看代码,代码分为三部分: 注册灯箱避免Wix成员确认电子邮件或更改发送地址,wix,velo,Wix,Velo,我正在与一位经营BtoB的客户合作。我们已经建立了会员帐户和一些会员角色,以确保他们在获得批准后可以访问的合理信息。然而,我们遇到了一个让我发疯的问题:按照Wix的默认注册流程规则,一旦有人注册,我们批准了会员访问权限,就会向他们的帐户发送一封带有令牌的电子邮件,以确认他们的电子邮件 尽管我们的域中有一封与Wix集成的电子邮件,但确认电子邮件和密码重置(在用户单击“忘记我的密码”后发送)都不是从该地址发送的,而是从某个愚蠢的@site-members.com地址发送的 我客户的客户都使用商务电
import wixWindow from 'wix-window';
import wixData from 'wix-data';
import { doRegistration } from 'backend/register';
let registration;
$w.onReady(function () {
$w("#register").onClick((event) => {
console.log("Button was clicked");
$w("#errorMessage").collapse();
$w("#emailExists").collapse();
if ($w("#email").valid && $w("#password").valid && $w("#company").valid && $w("#name").valid) {
registerPerson();
console.log("Trying to register");
} else {
$w("#errorMessage").expand();
console.log("Missing Information");
}
})
});
function registerPerson () {
let email = $w("#email").value;
let password = $w("#password").value;
let name = $w("#name").value;
let company = $w("#company").value;
let toInsert = {
"name": name,
"company": company,
"email": email
};
wixData.insert("Members", toInsert)
.then( (results) => {
let item = results;
} )
.catch( (err) => {
let errorMsg = err;
} );
doRegistration(email, password, name)
.then((result) => {
wixWindow.openLightbox("confirmation");
let userId = result.user.id
.catch((err) => {
let errMsg = err;
console.log(err);
$w("#emailExists").expand();
} );
});
}
后端寄存器.JSW
export function doRegistration(email, password, name, company) {
// register the user
return wixUsers.register(email, password, {
"contactInfo": {
"name": name,
"company": company
}
})
.then((results) => {
wixUsers.emailUser('verifyRegistration', results.user.id, {
variables: {
approvalToken: results.approvalToken
}
});
return results
});
}
export function doApproval(token) {
// approve the user
return wixUsers.approveByToken(token)
// user is now active, but not logged in
// return the session token to log in the user client-side
.then((sessionToken) => {
return { sessionToken, "approved": true };
})
.catch((error) => {
return { "approved": false, "reason": error };
});
}
确认页面(用户确认电子邮件后将重定向到该页面)
只需在DNS中创建SPF记录,并将所有内容与WIX服务器(ascendbywix.com~all)一起包括在内。为什么要使用TXT记录类型而不是SPF记录类型?当SPF记录最初于2003年引入时,自那时起,互联网工程任务组(IETF)已停止使用SPF记录,并要求将所有SPF资源记录数据放入TXT记录类型。您可能会在托管DNS提供商的用户界面中看到可用的SPF记录类型,但是,对于发件人策略框架记录,不建议使用这些记录类型。(RFC 7208第3.1节)将SPF资源记录信息添加到TXT资源记录类型中。
import wixLocation from 'wix-location';
import wixUsers from 'wix-users';
import {doApproval} from 'backend/register';
$w.onReady( () => {
// get the token from the URL
let token = wixLocation.query.token;
doApproval(token)
.then( (result) => {
if (result.approved){
// log the user in
wixUsers.applySessionToken(result.sessionToken);
console.log("Approved");
}
else {
console.log("Not approved!");
}
} );
} );