Search by

overtrue / laravel-mail-aliyun

overtrue

Aliyun DrirectMail Transport for Laravel Application.

Package info

github.com/overtrue/laravel-mail-aliyun

pkg:composer/overtrue/laravel-mail-aliyun

Fund package maintenance!

overtrue

Statistics

Installs: 9 218

Dependents: 0

Suggesters: 0

Stars: 70

Open Issues: 1

4.0.0 2026-10-04 01:04 UTC

This package is auto-updated.

Last update: 2026-10-19 05:41:33 UTC


README

📧 Aliyun DrirectMail Transport for Laravel Application.

Sponsor me

Installing

$ composer require overtrue/laravel-mail-aliyun -vvv

Configuration

API documention: https://help.aliyun.com/document_detail/29435.html

config/services.php

    'directmail' => [
        'key' => env('ALIYUN_ACCESS_KEY_ID'),
        'secret' => env('ALIYUN_ACCESS_KEY_SECRET'),
        'region_id' => env('ALIYUN_REGION_ID'),
        'from_address' => env('ALIYUN_FROM_ADDRESS'),
        'from_alias' => env('ALIYUN_FROM_ALIAS'),
    ],

AccessKeyID 和 AccessKeySecret 由阿里云官方颁发给用户的 AccessKey 信息(可以通过阿里云控制台用户信息管理中查看和管理).

Usage

Set default mail driver and configuration:

.env

MAIL_MAILER=directmail

ALIYUN_ACCESS_KEY_ID=  #AccessKeyID
ALIYUN_ACCESS_KEY_SECRET= #AccessKeySecret
ALIYUN_REGION_ID= #RegionID: cn-hangzhou, ap-southeast-1, ap-southeast-2
ALIYUN_FROM_ADDRESS= #FromAddress
ALIYUN_FROM_ALIAS= #FromAlias

Add a mailer in config/mail.php:

'mailers' => [
    'directmail' => ['transport' => 'directmail'],
],

This version supports Laravel 13 and PHP 8.3+ using Symfony Mailer. To and CC recipients are sent through the API's ToAddress field; the API does not preserve a separate CC header. This transport rejects BCC, envelope-only recipients absent from To/CC headers, and attachments rather than silently dropping them or exposing blind recipients. Use SMTP when these features are needed. Custom message callbacks should use withSymfonyMessage() and Symfony's Email.

TagName

use Overtrue\LaravelMailAliyun\HasTagName;
class VerifyMail extends Mailable{
    use HasTagName;
    public function build()
    {
        $this->tagName('alreadyDefinedTag');
        return $this->text('mails.verify');
    }
}

Please reference the official doc: Laravel Sending mail

❤️ Sponsor me

Sponsor me

如果你喜欢我的项目并想支持它,点击这里 ❤️

Project supported by JetBrains

Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.

License

MIT

Tests

composer install
composer test

The test suite uses a mocked HTTP handler and does not send real email.