参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user相关的知识,希望对你有一定的参考价值。

public void SendEmail(string mailTo, string mailSubject, string mailContent)

// 设置发送方的邮件信息,例如使用网易的smtp
string smtpServer = "smtp.qq.com"; //SMTP服务器
string mailFrom = "2308837073@qq.com"; //登陆用户名
string userPassword = "XXXXXX";//登陆密码
// 邮件服务设置
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = smtpServer; //指定SMTP服务器
smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码
// 发送邮件设置
MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
mailMessage.Subject = mailSubject;//主题
mailMessage.Body = mailContent;//内容
mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.Low;//优先级
try

smtpClient.Send(mailMessage); // 发送邮件
return true;

catch (SmtpException ex)

return false;


这是调用方法,此邮箱的SMPT也被我开启了,运行后就会报参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user

mail from address must be same as authorization user
来自地址的邮件必须与授权用户相同。
参考技术A 1、先确定用来发送邮件的邮箱是哪家的,拿qq邮箱来说,账户:XXXXX@qq.com的POP3/SMTP服务是否开启?如果未开启,可以登录qq邮箱的网页版后,在邮箱设置-账户-开启服务里设置:POP3/SMTP服务 为开启状态。
2、POP3/SMTP服务设置为开启后,在代码段里的邮箱密码参数需要填写授权码(授权码在你开启的时候根据提示会生成,记得保存好),注意一点,不是填写邮箱的密码明文。
参考技术B ​“/”应用程序中的服务器错误。运行时错误
说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。

详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。

<!-- Web.Config 配置文件 -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>

注释: 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。

<!-- Web.Config 配置文件 -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
啊?
如果是的话!就说明在你点的同时有其他很多人也在点这个窗口,再多试几下,另外把暂时关闭拦截窗口!

HTTP 406 错误服务器响应:在请求中发送过滤参数时

【中文标题】HTTP 406 错误服务器响应:在请求中发送过滤参数时【英文标题】:HTTP 406 error server response: when sending filtering params in request 【发布时间】:2015-11-30 11:31:20 【问题描述】:

我在 Backand 中有我正在构建的应用程序,并且我正在尝试使用过滤器参数。当使用$http 调用我的API 时,我在http 请求中得到406 error

这将是 API 调用,传递过滤器对象:

function getUserAttractions(userId) 

  return $http(

    method: 'GET',

    url: Backand.getApiUrl() + '/1/objects/attractions',

    params: 

      sort: [
        "fieldName": "date",
        "order": "asc"
      ],

      filter: [
        "fieldName": "user_id",
        "operand": "contains",
        "value": "1"
      ]

    

  );


【问题讨论】:

没有足够的信息 - 406 来自后端。因此,只需检查后端代码和日志 - 接收到的内容以及后端响应 406 的原因 我认为您应该检查您的后端,并可能显示其中的一些代码(处理此请求的 API 方法)。 【参考方案1】:

首先,您应该使用“运算符”而不是“操作数”。 如果 user_id 是一个对象字段,那么过滤器应该是:

filter: ["fieldName":"user_id","operator":"in","value":"1"]

在这里您可以找到其他类型字段的其他文档http://docs.backand.com/en/latest/apidocs/apidescription/index.html#rest-api-crud-operations

免责声明:我为 Backand 工作

【讨论】:

【参考方案2】:

HTTP 状态为 406(不可接受)时,服务器抱怨它无法满足您的请求,可能是因为您的(缺少)Accept 标头。见Wikipedia。

我不知道你的服务器应该发送什么,所以我假设它应该在响应中发送 JSON。

尝试以下方法:

return $http(
    method: 'GET',
    url: Backand.getApiUrl() + '/1/objects/attractions',
    headers: 
        'Accept': 'application/json, */*'
    ,
    params: 
        sort: ["fieldName":"date","order":"asc"],
        filter: ["fieldName":"user_id","operand":"contains","value":"1"]
    
);

请参阅AngularJS Page 了解更多信息。

【讨论】:

以上是关于参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user的主要内容,如果未能解决你的问题,请参考以下文章

Nginx:--HTTP模块(其他语法与指令)

Nginx:--HTTP模块(其他语法与指令)

邮件发送错误c# [重复]

如何查看ajax.php中的错误

我正在尝试使用 smtp 协议通过 telnet 发送电子邮件,但在“MAIL FROM:”之后遇到错误响应

R语言 逻辑回归