避免Wix成员确认电子邮件或更改发送地址

避免Wix成员确认电子邮件或更改发送地址,wix,velo,Wix,Velo,我正在与一位经营BtoB的客户合作。我们已经建立了会员帐户和一些会员角色,以确保他们在获得批准后可以访问的合理信息。然而,我们遇到了一个让我发疯的问题:按照Wix的默认注册流程规则,一旦有人注册,我们批准了会员访问权限,就会向他们的帐户发送一封带有令牌的电子邮件,以确认他们的电子邮件 尽管我们的域中有一封与Wix集成的电子邮件,但确认电子邮件和密码重置(在用户单击“忘记我的密码”后发送)都不是从该地址发送的,而是从某个愚蠢的@site-members.com地址发送的 我客户的客户都使用商务电

我正在与一位经营BtoB的客户合作。我们已经建立了会员帐户和一些会员角色,以确保他们在获得批准后可以访问的合理信息。然而,我们遇到了一个让我发疯的问题:按照Wix的默认注册流程规则,一旦有人注册,我们批准了会员访问权限,就会向他们的帐户发送一封带有令牌的电子邮件,以确认他们的电子邮件

尽管我们的域中有一封与Wix集成的电子邮件,但确认电子邮件和密码重置(在用户单击“忘记我的密码”后发送)都不是从该地址发送的,而是从某个愚蠢的@site-members.com地址发送的

我客户的客户都使用商务电子邮件,他们的大多数服务器都完全屏蔽了这些电子邮件。因此,他们无法完成注册过程,也无法登录

在尝试与Wix的支持人员交谈(这完全是浪费时间)之后,我开始在互联网上搜索,并找到了一个将触发式电子邮件作为确认电子邮件发送的教程。我试过了,它似乎很有效,但是,即使触发的电子邮件设置为从我的帐户发送,它也会通过以下方式添加:

啊。。猜猜看!在做了一些测试之后,在许多服务器中,它们也会被阻塞

所以,我不知道还能做什么!有没有人能帮我避免发送确认邮件,或者看看是否有其他方法可以设置使用Corvid或Wix仪表板发送确认邮件的电子邮件地址

如果您想查看代码,代码分为三部分:

注册灯箱

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!");
      }
    } );
} );