***

title: "Email Utils"
generated: true
---------------

## transformOrderLineAssetUrls

<GenerationInfo sourceFile="packages/email-plugin/src/handler/default-email-handlers.ts" sourceLine="106" packageName="@vendure/email-plugin" />

Applies the configured `AssetStorageStrategy.toAbsoluteUrl()` function to each of the
OrderLine's `featuredAsset.preview` properties, so that they can be correctly displayed
in the email template.
This is required since that step usually happens at the API in middleware, which is not
applicable in this context. So we need to do it manually.

**Note: Mutates the Order object**

```ts title="Signature"
function transformOrderLineAssetUrls(ctx: RequestContext, order: Order, injector: Injector): Order
```

Parameters

### ctx

\<MemberInfo kind="parameter" type={`<a href='/current/core/reference/typescript-api/request/request-context#requestcontext'>RequestContext</a>`} />

### order

\<MemberInfo kind="parameter" type={`<a href='/current/core/reference/typescript-api/entities/order#order'>Order</a>`} />

### injector

\<MemberInfo kind="parameter" type={`<a href='/current/core/reference/typescript-api/common/injector#injector'>Injector</a>`} />

## shippingLinesWithMethod

<GenerationInfo sourceFile="packages/email-plugin/src/handler/default-email-handlers.ts" sourceLine="127" packageName="@vendure/email-plugin" />

Ensures that the ShippingLines have a shippingMethod so that we can use the
`shippingMethod.name` property in the email template.

```ts title="Signature"
function shippingLinesWithMethod(order: Order): ShippingLine[]
```

Parameters

### order

\<MemberInfo kind="parameter" type={`<a href='/current/core/reference/typescript-api/entities/order#order'>Order</a>`} />
