小编skh*_*o87的帖子

如何在.config文件中设置log4net SmtpAppender发件人名称

我试图找到这个小问题的解决方案很长一段时间但找不到答案.

我想设置发件人使用log4net SmtpAppender发送的电子邮件的名称,但我无法弄清楚如何.

这是我的log4net appender配置:

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  <to value="sender@sending.com" />
  <from value="receiver@receiving.rom" />
  <subject value="test logging message" />
  <smtpHost value=" ... " />
  <authentication value="Basic" />
  <port value="587" />
  <bufferSize value="1" />
  <username value=" ... " />
  <password value=" ... " />
  <EnableSsl value="true"/>
  <lossy value="true" />
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="FATAL"/>
  </evaluator>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
  </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

它有效,但是当我收到电子邮件时,发件人的姓名是"from"参数中@的前面的任何内容,在本例中为"sender"(因为它是sender@sending.com).

我想要的是一个自定义名称,让我们说Notifier,但仍然继续发送自sender@sending.com

我尝试了不同的参数(只是随机猜测,因为我在搜索网络时找不到任何好的想法)...就像from_name或sender_name ...没有用...

这是关于SO的第一个问题,希望我符合所有标准,有人可以帮助我:)

干杯

c# log4net smtp

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

Selenium FirefoxDriver:在不同实例之间共享会话/ Cookie

我有以下场景:

我有一个C#WPF程序,我尝试同时访问不同的网站并从中收集数据.

网站A(www.example.com)有一个登录表单,登录后会显示一些链接,例如www.example.com?redir=abc

我所做的:

  • 启动FirefoxDriver 1
  • 登录
  • 无限循环:收集所有链接和刷新页面

问题是,我在我的项目中的另一个Thread中运行了另一个FirefoxDriver实例2.

在此实例2中,我访问之前收集的链接并想要打开它们.

问题是,为了访问它们(它们是重定向的),我需要再次登录到网站A.当我登录时,实例1上的会话结束,所以我需要再次登录等等,所以有效地实例正在"窃取"彼此的会话.(我想更多地扩展这个实例3,4 ......所以这会使问题更严重).

显然我的问题是实例1和实例2没有共享同一个会话.

我找到解决问题的可能性:

  • 使用相同的FirefoxProfile:尝试过,不工作,仍然不共享会话
  • 使用一个带有2个窗口/标签的实例并使用Selenium ThreadGuard类从两个线程访问它:看起来非常复杂,因为我需要一直在窗口之间切换
  • 使用Selenium Grid:看起来有点过分,我还不知道这对我来说是否正确

因此,我在问,有人建议我应该如何设计这个?

谢谢您的帮助.

c# selenium webdriver selenium-firefoxdriver

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

标签 统计

c# ×2

log4net ×1

selenium ×1

selenium-firefoxdriver ×1

smtp ×1

webdriver ×1