问题列表 - 第317986页

MailKit.Security.AuthenticationException: '535: 5.7.139 身份验证失败,用户被组织的安全默认策略锁定

我正在尝试使用以下配置从我的 Office365 电子邮件帐户的 .Net 6 应用程序发送电子邮件

"EmailConfiguration": {
   "From": "XXXXXXXXXXX",
   "SmtpServer": "smtp.office365.com",
   "Port": 25, // tried port 587 also
   "Username": "XXXXXXXXX",
   "Password": "XXXXXXXX"
}
Run Code Online (Sandbox Code Playgroud)

这是我发送电子邮件的代码:

using var client = new SmtpClient();
try
{
    client.Connect(_emailConfig.SmtpServer, _emailConfig.Port, MailKit.Security.SecureSocketOptions.StartTls);
    //client.AuthenticationMechanisms.Remove("XOAUTH2");
    client.Authenticate(_emailConfig.UserName, _emailConfig.Password);

    client.Send(mailMessage);
}
catch
{
    //log an error message or throw an exception or both.
    throw;
}
finally
{
    client.Disconnect(true);
    client. Dispose();
}
Run Code Online (Sandbox Code Playgroud)

client.Authenticate但我在通话时收到此错误

MailKit.Security.AuthenticationException: '535: 5.7.139 身份验证失败,用户被组织的安全默认策略锁定。请联系您的管理员。[PN2PR01CA0027.INDPRD01.PROD.OUTLOOK.COM 2023-12-10T12:33:11.474Z 08DBF8259ECF3F85]'

我们尝试检查管理面板中的所有内容,以查看特定电子邮件帐户或用户是否被锁定,但我们没有发现类似情况。

我已使用以下命令Authenticated SMTP启用了该特定电子邮件帐户的设置

我也尝试禁用该设置,但随后我开始收到身份验证失败的错误。

有人可以指导我可能出了什么问题吗?

smtp smtpclient .net-6.0

5
推荐指数
1
解决办法
8715
查看次数

为什么更简单的循环速度更慢?

调用 with n = 10**8,对我来说,简单循环始终比复杂循环慢得多,我不明白为什么:

def simple(n):
    while n:
        n -= 1

def complex(n):
    while True:
        if not n:
            break
        n -= 1
Run Code Online (Sandbox Code Playgroud)

有时以秒为单位:

def simple(n):
    while n:
        n -= 1

def complex(n):
    while True:
        if not n:
            break
        n -= 1
Run Code Online (Sandbox Code Playgroud)

这是字节码的循环部分,如下所示dis.dis(simple):

  6     >>    6 LOAD_FAST                0 (n)
              8 LOAD_CONST               1 (1)
             10 BINARY_OP               23 (-=)
             14 STORE_FAST               0 (n)

  5          16 LOAD_FAST                0 (n)
             18 POP_JUMP_BACKWARD_IF_TRUE     7 (to 6)
Run Code Online (Sandbox Code Playgroud)

对于complex:

 10     >>    4 …
Run Code Online (Sandbox Code Playgroud)

python performance cpython python-internals python-3.11

62
推荐指数
1
解决办法
9685
查看次数

JavaFX 阿拉伯字母根本不显示

我有以下 FXML 文件

\n
<?xml version="1.0" encoding="UTF-8"?>\n\n<?import javafx.scene.text.*?>\n<?import javafx.scene.control.*?>\n<?import javafx.scene.layout.*?>\n\n<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">\n   <children>\n      <TableView layoutX="54.0" layoutY="136.0" prefHeight="200.0" prefWidth="495.0">\n        <columns>\n          <TableColumn prefWidth="75.0" text="\xd8\xa7\xd9\x84\xd8\xb1\xd8\xb5\xd9\x8a\xd8\xaf" />\n          <TableColumn prefWidth="75.0" text="\xd9\x85\xd9\x84\xd8\xa7\xd8\xad\xd8\xb8\xd8\xa7\xd8\xaa" />\n          <TableColumn prefWidth="75.0" text="\xd8\xaf\xd8\xa7\xd8\xa6\xd9\x86" />\n          <TableColumn prefWidth="75.0" text="\xd9\x85\xd8\xaf\xd9\x8a\xd9\x86" />\n          <TableColumn prefWidth="75.0" text="\xd8\xa7\xd9\x84\xd8\xaa\xd8\xa7\xd8\xb1\xd9\x8a\xd8\xae" />\n        </columns>\n      </TableView>\n   </children>\n</AnchorPane>\n
Run Code Online (Sandbox Code Playgroud)\n

如上所述,文件编码为 UTF-8。当我运行我的项目时,它显示如下:\n在此输入图像描述

\n

为什么会这样显示呢?怎么了?仅供参考,我正在使用 MacOS

\n

java macos encoding javafx arabic-support

5
推荐指数
1
解决办法
74
查看次数

如何检查/决定/分割一个点是否在 3d 圆锥体内?

我如何知道哪些点位于圆锥体内,例如以下兔子数据?

在此输入图像描述 在此输入图像描述

library("onion")
library("rgl")

#bunny data
data(bunny)

#cone
pts <- cbind(c(0, 0), c(0, 0.23), c(0, 0))# the centers
radii <- c(0.0, 0.15)
cone <- cylinder3d(pts, radii, sides = 20)

#visualize
points3d(bunny, col="pink", alpha = 0.3)
shade3d(cone, col = "lightblue", alpha = 0.9)

Run Code Online (Sandbox Code Playgroud)

r rgl

2
推荐指数
1
解决办法
93
查看次数

Matlab 日志与 Numpy np.log 不匹配

在将旧的 Matlab 代码重写为 NumPy 时,我注意到对数计算方面的差异。在 NumPy 中,我使用np.log,Matlab 使用log函数。

b = [1 1 2 3 5 1 1];
p = b ./ sum(b);
sprintf('log(%.20f) = %.20f', p(5), log(p(5)))
Run Code Online (Sandbox Code Playgroud)
import numpy as np
b = np.array([1, 1, 2, 3, 5, 1, 1])
p = b.astype('float64') / np.sum(b)
print(f'log({p[4]:.20f}) = {np.log(p[4]):.20f}')
Run Code Online (Sandbox Code Playgroud)

对于配备 M1 芯片的 MacBook Pro 2020,我发现小数点后第 16 位不匹配。

log(0.35714285714285715079) = -1.02961941718115834732  # Matlab
log(0.35714285714285715079) = -1.02961941718115812527  # NumPy
Run Code Online (Sandbox Code Playgroud)

我想得到完全相同的结果。知道如何修改我的 Python 代码吗?

precision matlab numpy logarithm numeric

1
推荐指数
1
解决办法
80
查看次数

可变参数宏无法编译

我有 2 个可变宏,其中一个可以正常编译,另一个则不能:

    #define ASSERT(x, ...)           assert_log(x, __FILE__, __LINE__, __VA_ARGS__)
    #define TRACE (x, ...)           trace(x, __FILE__, __LINE__, __VA_ARGS__)
...

libs/defs.h:16:71: error: __VA_ARGS__ can only appear in the expansion of a C99 variadic macro [-Werror]
   16 |         #define TRACE (x, ...)           trace(x, __FILE__, __LINE__, __VA_ARGS__)
      |                                                                       ^
Run Code Online (Sandbox Code Playgroud)

他们宣布的签名:

void assert_log(int, const char*, int, const char* , ...);
void trace(int, const char*, int, const char* , ...);
Run Code Online (Sandbox Code Playgroud)

编译标志:

CFLAGS= \
    -Wextra \
    -Werror \
    -Wall \
    -Wfloat-equal \
    -Wundef \
    -Wshadow \ …
Run Code Online (Sandbox Code Playgroud)

c preprocessor variadic-macros

4
推荐指数
1
解决办法
50
查看次数

在 Rust 中 Repl 作为 Haskell 中的 GHCI?

作为一个新手,在 Haskell 中很容易理解它是如何工作的,如果你正在寻找一个可以做某事的函数,你可以在 Hoogle 上查找签名/类型。

同时,如果您有一个不太了解其工作原理的函数,您可以在 ghci repl 中查找签名类型,并使用它。

每次我最终用谷歌搜索时,我都在努力使用 Rust 来获得相同类型的体验。难道没有 Rust 的替代品吗?我能得到类似于Haskell的体验吗?

例如,了解如何操作的最佳方法&str是查看在线文档?并通过方法?doc.rust-lang.org?或者有没有一种更类似于 Haskell 的方法?

rust

5
推荐指数
0
解决办法
136
查看次数

我在 Mac 上构建简单的 D 程序时遇到令人困惑的链接错误

我是 D 编程新手。我在 M1 处理器上使用 macOS Sonoma。我系统上的 clang 版本是 15.0.0。我安装了最新版本的 DMD (2.106)。我创建了这个程序:

import std.stdio;

int main()
{
    int a = 0;
    a++;

    // Display the result.
    writefln("a = %d", a);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用命令编译它dmd app.d,其中“app.d”是包含上述代码的文件的名称。这是我收到的消息:

ld: multiple errors: symbol count from symbol table and dynamic symbol table differ in '/Users/peter/BOK/D/source/app.o' in '/Users/peter/BOK/D/source/app.o'; address=0x0 points to section(2) with no content in '/Library/D/dmd/lib/libphobos2.a[3228](config_a94_4c3.o)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

当我将 -v 选项添加到链接器命令行时,我收到大量这种形式的消息: …

macos d

3
推荐指数
1
解决办法
157
查看次数

如何正确重载具有两种输入类型“Json::value”和“std:string”的方法?

make()我在类中有一个静态方法Response。它被重载以从 jsoncpp 获取std::string或Json::Value获取。

我重载了该方法,如下所示:

Response::make(Json::Value body)
{
  ...
}

Response::make(std::string body)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

这会导致编译时出现此错误:

Response::make(Json::Value body)
{
  ...
}

Response::make(std::string body)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

是否被Json::value视为字符串?我该如何解决这个问题?

c++ jsoncpp

0
推荐指数
1
解决办法
101
查看次数

无法在 Raku 中的单独行上使用序列运算符“...”

以下代码有效:

my @fibo = 1, 1, -> $a, $b { $a + $b } ...  *;
say @fibo[^10];
Run Code Online (Sandbox Code Playgroud)

输出:

(1 1 2 3 5 8 13 21 34 55)
Run Code Online (Sandbox Code Playgroud)

但是如果你将其分成多行,如下所示:

my @fibo = 1,
           1,
           -> $a, $b { $a + $b }
           ...
           *;
say @fibo[^10];
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

*
  in block <unit> at ./dotdotdot line 4
Run Code Online (Sandbox Code Playgroud)

在这种情况下, 似乎...被解释为 yada 运算符。但不应该,不是吗?两个版本的代码应该是等效的。(这不是 Python,空格应该是无关紧要的。)

作为解决方法,以下内容确实可以正常工作:

my @fibo = 1,
           1,
           -> $a, $b { $a + $b } ...
           *;
say …
Run Code Online (Sandbox Code Playgroud)

raku

7
推荐指数
1
解决办法
131
查看次数