小编Gic*_*ica的帖子

在 C# 中使用 ProtonMail 发送电子邮件

我有一个在 Azure 应用服务上运行的应用程序。到目前为止,我一直在使用 Gmail SMTP 服务器发送电子邮件,并且运行良好。电子邮件服务与文档中的类似,配置如下所示:

"ApplicationEmail": {
    "EmailAddress": "template@gmail.com",
    "Password": "temppassword",
    "SmtpClient": "smtp.google.com",
    "Port": "587",
    "SSL": "true"
  }
Run Code Online (Sandbox Code Playgroud)

现在我尝试切换到 ProtonMail 服务器,我在那里有一个带有自定义域的帐户,最终,我尝试重新配置设置,如下所示:

 "ApplicationEmail": {
    "EmailAddress": "administration@mydomain.de",
    "Password": "randompassword",
    "SmtpClient": "smtp.protonmail.com",
    "Port": "587",
    "SSL": "true"
  }
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,我在尝试发送电子邮件时收到此错误

   System.Net.Mail.SmtpException: Failure sending mail.
   System.Net.Sockets.SocketException (11001): No such host is known.
Run Code Online (Sandbox Code Playgroud)

我到处寻找解决方案,我发现的唯一方法是安装在后台本地运行并加密和解密电子邮件的 ProtonBridge,但这看起来不像一个选项,因为我无法将其集成到 Azure 应用服务中,因为就像 PaaS 而不是 Azure VM。如果我错了,请不要严格判断,我对 C#、Azure 还比较陌生:)

c# email smtp azure asp.net-core

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

从 ASP.NET Core 3 应用程序执行 Linux Shell 命令

我的问题实际上是,如何从我的应用程序执行 Shell 命令。有一个类似的Post,但它显示了如何执行脚本文件并需要该文件的路径。

var process = new Process()
    {
        StartInfo = new ProcessStartInfo
        {
            FileName = command, // Path required here
            Arguments = args,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            CreateNoWindow = true,
        }
    };
process.Start();
Run Code Online (Sandbox Code Playgroud)

为什么我想将命令作为字符串传递?

因为我想对其进行插值。否则,我将不得不创建一个带有一些输入参数的脚本。由于我不太擅长使用 Shell,所以我更喜欢简单的方法。

c# linux shell asp.net-mvc asp.net-core

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

通过 Bloc 重用小部件

我想实现什么目标?

我正在使用Flutter Bloc库作为我的身份验证组件。在登录页面内,我有一些文本字段,例如用户名/密码,我也将与其他页面共享这些文本字段,例如注册页面、忘记密码、更改密码等。基本上,遵循DRY原则。

每个页面(注册、登录、忘记密码等)都有自己的 Bloc 组件。

我的问题 是我找不到将小部件与 Bloc 分离的方法。我希望能够根据使用的页面在有状态小部件中传递任何 BLoc 组件。

为了理解上面写的内容,让我们看一下我的代码。

login.dart登录页面构建方法中的一段代码。

Widget _loginForm(){
    return BlocListener<LoginBloc, LoginState>(
      listener: (context, state) {
        final status = state.formStatus;
        if (status is SubmissionFailed) {
         ...
        }
      },
      child: Form(
        key: _formKey,
        child: Column(
          children: [
            // The reusable widget: Email input field.
            BlocBuilder<LoginBloc, LoginState>(
              builder:(context, state){
                return emailInputField(context, state);
              }
            ),
            ...

Run Code Online (Sandbox Code Playgroud)

现在让我们看一下emailInputField小部件

Widget emailInputField(BuildContext context, dynamic state) {
  return TextFormField(
    validator: (value) =>
        state.isValidEmail …
Run Code Online (Sandbox Code Playgroud)

dart flutter bloc flutter-bloc

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

C# - LINQ 互斥元素

我有一个我认为可以用 LINQ 解决的任务。问题是我对它很陌生,我只是无法正确实施我的想法。



问题:
我有两个字符串列表:

 var list1 = new List<string>{ "item1", "item2" }; <br>
 var list2 = new List<string>{ "item1", "item3", "item3", "item4" };
Run Code Online (Sandbox Code Playgroud)

目标是返回一个包含 list2 中包含在 list1中的元素的新列表,( "item3", "item4" )

c# linq

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

标签 统计

c# ×3

asp.net-core ×2

asp.net-mvc ×1

azure ×1

bloc ×1

dart ×1

email ×1

flutter ×1

flutter-bloc ×1

linq ×1

linux ×1

shell ×1

smtp ×1