通过GROOVY发送带有附件的邮件时出错

2020-09-19 21:17发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我在local.properties中为邮件做了以下设置

  emailservice.send.enabled = true
  mail.smtp.server = smtp.googlemail.com
  mail.smtp.port = 587
  mail.smtp.user=abc@gmail.com
  mail.smtp.password = abc
  mail.use.tls = true
  mail.smtp.debug = true
  mail.starttls.enable = true
  mail.smtp.auth = true
  mail.from=abc@gmail.com
  mail.replyto=abc@gmail.com
 
  order.send.to.email.address=abc@gmail.com
  order.send.to.display.name =订单失败
  order.from.email.address=abc@gmail.com
  order.from.display.name =失败的详细信息
  

在cgicoreconstants.java中定义常量

 公共静态最终字符串GLOBAL_CATALOG =" globalProductCatalog";
  public static final String STAGED ="已登台";
  

并创建了Groovy脚本来发送带有附件链接文本

但是我执行脚本时遇到错误
脚本执行失败[原因:de.hybris.platform.servicelayer.exceptions.ModelSavingException:[de.hybris.platform.servicelayer.interceptor.impl。 MandatoryAttributesValidator @ 5dadc933]:模型EmailAttachmentModel()中[catalogVersion]的值丢失,无法创建新的EmailAttachment]

我在groovy脚本中返回catalogVersion并检查了它是否返回catalogVersionmodel,这意味着catalogVersion不为空

他们的东西是否丢失或错了?

10882-groovy-to-send-mail.txt (5.5 kb)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我在local.properties中为邮件做了以下设置

  emailservice.send.enabled = true
  mail.smtp.server = smtp.googlemail.com
  mail.smtp.port = 587
  mail.smtp.user=abc@gmail.com
  mail.smtp.password = abc
  mail.use.tls = true
  mail.smtp.debug = true
  mail.starttls.enable = true
  mail.smtp.auth = true
  mail.from=abc@gmail.com
  mail.replyto=abc@gmail.com
 
  order.send.to.email.address=abc@gmail.com
  order.send.to.display.name =订单失败
  order.from.email.address=abc@gmail.com
  order.from.display.name =失败的详细信息
  

在cgicoreconstants.java中定义常量

 公共静态最终字符串GLOBAL_CATALOG =" globalProductCatalog";
  public static final String STAGED ="已登台";
  

并创建了Groovy脚本来发送带有附件链接文本

但是我执行脚本时遇到错误
脚本执行失败[原因:de.hybris.platform.servicelayer.exceptions.ModelSavingException:[de.hybris.platform.servicelayer.interceptor.impl。 MandatoryAttributesValidator @ 5dadc933]:模型EmailAttachmentModel()中[catalogVersion]的值丢失,无法创建新的EmailAttachment]

我在groovy脚本中返回catalogVersion并检查了它是否返回catalogVersionmodel,这意味着catalogVersion不为空

他们的东西是否丢失或错了?

10882-groovy-to-send-mail.txt (5.5 kb)
付费偷看设置
发送
3条回答
1楼-- · 2020-09-19 22:09

你好

您必须在EmailAttachmentModel对象上设置catalogVersion;

Haythem,

当学会了学习
2楼-- · 2020-09-19 22:11

嗨,

您能否验证脚本 CatalogVersionModel catalogVersion = catalogVersionService.getCatalogVersion(CgiCoreConstants.GLOBAL_CATALOG,CgiCoreConstants.STAGED)

给出了预期的目录版本

谢谢

Venki

me_for_i
3楼-- · 2020-09-19 22:08

它没有到达设置目录版本的脚本行,因为它在 emailService.createEmailAttachment()

试图通过查找属性 defaultCatalog 设置为true的目录或会话目录版本中的第一个内容目录来设置商品目录版本。

在创建附件之前尝试类似的操作

  catalogVersionService.setSessionCatalogVersion('my-content-catalog','Online')
  

尽管如果您只是想通过Groovy脚本进行临时报告,那么我将避免完全保留模型。 只需执行以下操作即可:

 电子邮件= de.hybris.platform.util.mail.MailUtils.getPreConfiguredEmail()
  email.addTo('me@hybris.com')
  email.subject ='从家中赚取1000美元'
  email.msg ='这是您的报告'

  附件=新的org.apache.commons.mail.EmailAttachment()
  attachment.path ='c:/path/to/report.log'
  attachment.disposition = org.apache.commons.mail.EmailAttachment.ATTACHMENT
  attachment.description ='报告'
  attachment.name ='report.log'
  email.attach(附件)

  email.send()
  

一周热门 更多>