承接 hostmyservers/mailcow-api 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hostmyservers/mailcow-api

Composer 安装命令:

composer require hostmyservers/mailcow-api

包简介

A full-featured implementation of the MailCow API

README 文档

README

A PHP 7.2+ library for interacting with the Mailcow API.

Latest Stable Version Total Downloads License PHP Version Require

Installation

Install via Composer:

composer require hostmyservers/mailcow-api

Basic Usage

<?php
require_once 'vendor/autoload.php';

use HostMyServers\MailCowAPI;

// Initialize the client
$client = new MailCowAPI('https://mail.example.com', 'your-api-token');

// Get all domains
$domains = $client->domains()->getAll();

// Create a new domain
$client->domains()->create(
    'example.com',
    'My Domain',
    10,  // aliases
    5,   // mailboxes
    1000, // defquota
    2000, // maxquota
    5000  // quota
);

// Create a mailbox
$client->mailBoxes()->create(
    'user',
    'example.com',
    'John Doe',
    'password123'
);

// Create an alias
$client->aliases()->create(
    'alias@example.com',
    'destination@example.com'
);

Available Features

Domains

// Get all domains
$client->domains()->getAll();

// Get specific domain
$client->domains()->get('example.com');

// Create domain
$client->domains()->create('example.com', 'Description');

// Update domain
$client->domains()->update('example.com', ['description' => 'New description']);

// Delete domain
$client->domains()->delete('example.com');

// Enable/disable domain
$client->domains()->setActive('example.com', true);

Mailboxes

// Get all mailboxes
$client->mailBoxes()->getAll();

// Create mailbox
$client->mailBoxes()->create('user', 'domain.com', 'User Name', 'password');

// Update mailbox
$client->mailBoxes()->update('user@domain.com', ['name' => 'New Name']);

// Delete mailbox
$client->mailBoxes()->delete('user@domain.com');

// Update spam score
$client->mailBoxes()->updateSpamScore('user@domain.com', '5.0');

Aliases

// Get all aliases
$client->aliases()->getAll();

// Create alias
$client->aliases()->create('alias@domain.com', 'destination@domain.com');

// Update alias
$client->aliases()->update('alias_id', ['goto' => 'new@domain.com']);

// Delete alias
$client->aliases()->delete('alias_id');

DKIM

// Get DKIM info
$client->dkim()->getDkim('domain.com');

// Generate DKIM
$client->dkim()->generate('domain.com', 'selector', 2048);

// Delete DKIM
$client->dkim()->delete('domain.com');

Anti-Spam

// Get whitelist policy
$client->antiSpam()->getWhitelistPolicy('domain.com');

// Get blacklist policy
$client->antiSpam()->getBlacklistPolicy('domain.com');

// Add policy
$client->antiSpam()->addPolicy('domain.com', 'whitelist', 'sender@domain.com');

// Delete policy
$client->antiSpam()->deletePolicy(['policy_id']);

Requirements

  • PHP 7.2 or higher
  • Guzzle HTTP Client
  • PSR-7 implementation

License

This project is licensed under the MIT License - see the LICENSE file for details.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2025-02-23