首页 > 解决方案 > 避免 Wix 会员确认电子邮件或更改发送地址

问题描述

我正在与一个经营 BtoB 的客户合作。我们已经设置了会员帐户和一些会员角色,以保护他们在获得批准后可以访问的敏感信息。但是,我们遇到了一个让我完全发疯的问题:作为 Wix 的默认注册流程规则,一旦有人注册并且我们批准了会员访问权限,就会向他们的帐户发送一封带有令牌的电子邮件以确认他们的电子邮件。

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

发件人地址

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

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

通过ascendbywix

Aaaand .. 你猜怎么着!在做了一些测试之后,这些在许多服务器中也被阻止了。

所以,我不知道还能做什么!有人可以帮助我避免发送确认电子邮件,或者看看是否有任何其他方法可以设置使用 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 };
        });
}

CONFIRMATION PAGE(确认电子邮件后将重定向用户)

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

标签: wixvelo

解决方案


只需在 DNS 中创建 SPF 记录,并将所有内容与 WIX 服务器(ascendbywix.com ~all)一起包含在其中。


推荐阅读